vue3 readonly使用详情

  • readonly 是将通过ref 或reactive定义好的数据进行拷贝后变为仅可读的数据,不可进行修改,即无响应
  • 如强制修改 控制台将会报错警告

代码使用如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="http://unpkg.com/vue@next"></script>
</head>
<body>
    <div id="root"></div>
</body>
<script>
    Vue.createApp({
        setup(props, context) {
            const {
                reactive,
                readonly
            } = Vue
            let content = reactive(['aa'])
            let content2 = readonly(content)
            setTimeout(() => {
                content[0] = 'bb'
                content2[0] = 'cc'
            }, 2000)
            return {
                content,
                content2
            }
        },
        template: '<div>{{content[0]}}</div>'
    }).mount('#root')
</script>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3中的状态管理有一个新的特性叫做Vue 3 Composition API。您可以使用Composition API来创建和管理您的Vue 3应用程序中的状态。下面是一个简单的示例,演示了如何在Vue 3中使用Composition API来创建和使用一个简单的store: 首先,您需要创建一个新的JavaScript文件(例如store.js),并在其中导入Vue和createStore函数: ```javascript import { reactive, readonly } from 'vue'; // 创建一个可变的状态对象 const state = reactive({ count: 0, }); // 创建一个修改状态的方法 function increment() { state.count++; } // 导出一个只读的状态对象和修改状态的方法 export const store = readonly({ state, increment, }); ``` 然后,在您的Vue组件中导入并使用store: ```javascript <template> <div> <p>Count: {{ count }}</p> <button @click="increment">Increment</button> </div> </template> <script> import { store } from './store.js'; export default { computed: { count() { return store.state.count; }, }, methods: { increment() { store.increment(); }, }, }; </script> ``` 在上面的示例中,我们创建了一个可变的状态对象`state`,并将其包装在`reactive`函数中以实现响应式。然后,我们创建了一个`increment`方法来修改状态对象中的`count`属性。最后,我们通过`readonly`函数将状态对象和修改方法包装在一个只读的store对象中进行导出。 在Vue组件中,我们可以使用computed属性来获取状态对象中的属性值,并在方法中调用store对象中的修改方法来更新状态。这样,我们就可以在Vue 3应用程序中使用Composition API来创建和使用一个简单的store了。 请注意,上述示例只是一个简单的演示,您可以根据您的实际需求扩展和修改store对象和组件。希望对您有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值