vue的Vue.set方法的使用
Vue.set有两个功能:1. 设置数据数组对象元素; 2.向响应式对象添加属性
Vue.set( target, propertyName/index, value )
参数:
{Object | Array} target
{string | number} propertyName/index
{any} value
返回值:设置的值。
用法:
向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 (比如 this.myObject.newProperty = 'hi')
注意对象不能是 Vue 实例,或者 Vue 实例的根数据对象。
1. 设置数组元素
Vue.set(vm.items,2,"ling") : 表示 把vm.items 这个数组的下标为2 的元素,改为"ling"
把数组 ["a","b","c"] 修改 后是 ["a","b","ling"]
注意:
这里的意思是,set 这个方法只能用于data 里面的子数组对象,而不能直接用于data (这个根数据)或 者vue 实例
2.向响应式对象添加属性
<div id="div"> <p >{{person}}</p> </div> <script> var vm = new Vue({ el:"#div", data: { person:{ name:"ling", job:"engineer" }, created:function(){ alert(this.person.age) } }); Vue.set(vm.person,"age","26") </script>
var vm = new Vue({ el:"#div", data: { person:{ name:"ling", job:"engineer" }, created:function(){ alert(this.person.age) } }); Vue.set(vm.person,"age","26")
注意:person 是data 里面的子对象,所以可以使用 Vue.set( ) 方法。data 这个根对象就不能使用 set 方法
说明:控制台可以在person 里找到age 这个属性,说明添加成功 (响应式)
更多vue.js相关知识,可访问 Vue.js答疑 栏目!!
以上就是vue2如何使用vue.set?的详细内容,更多请关注易知道|edz.cc其它相关文章!