vue3中的this.$set写法举例
vue3中的this.$set怎么写呢?
在vue2中我们常常会遇到明明已经改变了数据视图却没有实时更新这样的问题
举例
<el-input v-model="input.text" placeholder="请输入内容"></el-input>
data() {
return{
input:{
text:'1'
}
}
}
mounted () {
this.input.text = '2'; // 视图层并没有改变
}这时vue2就提供了一个方法就是$set
this.$set(this.input, 'text', '3');
原因就是 Vue2 中的数据响应式是利用 object.definedProperty()实现的,它是无法深层监听数据的变化的。
而Vue3,用的是ES6的proxy,对数据响应式进行一个数据的代理。这个就厉害了啊,结合Vue3的 composition API。
- Vue3 中的 reactivity API:
- reactive
- readonly
- ref
- computed
- 如果想要让一个对象变为响应式数据,可以使用reactive或ref
setup() {
const state = reactive({
input:{
text:"1"
}
});
return {
state // 导出响应式数组
}
},
mounted() {
console.log(state); // 是一个proxy
state.input.text = '2'; // 视图更新
}Vue3中废弃了$set的概念
到此这篇关于vue3中的this.$set怎么写呢?的文章就介绍到这了,更多相关vue3 this.$set内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
这篇文章主要给大家介绍了关于Vue在chrome44偶现点击子元素事件无法冒泡的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Vue具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-12-12
antd Select下拉菜单动态添加option里的内容操作
这篇文章主要介绍了antd Select下拉菜单动态添加option里的内容操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11


最新评论