vue 关于vue.set的学习笔记

vue新手小白,在看vue文档的时候 发现vue关于 数组,对象值改变的与 ng有那么点不同。

官方表示

由于 JavaScript 的限制,Vue 不能检测以下变动的数组:

  1. 当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue
  2. 当你修改数组的长度时,例如:vm.items.length = newLength

但是对于曾经使用ng的我来说,是不一样的。

比如:

vue 不能检测你直接根据数组的索引对数组的某个值修改。

Vue 不能检测对象属性的添加或删除。

但是它提供了另外的方法vue.set ,可以修改数组的值喝对象新增删除属性。

<script>  
export default {
      data(){
            return {
                list:[1,2,3,4,5,6],
                userProfile: {
                    name: 'Anika'
                }
                user: {
                   name: "hea",
                   age: 12
                }
            }
     }, 
     mounted() { 
           this.$set(this.list, 1, 27) 
           this.$set(this.userProfile, 'age', 27)
           this.user = Object.assign({}, this.user, {
                                     age: 22,
                                     name: "huangenai"
           });
     } 
   } 
</script>

  

此随笔乃本人学习工作记录,如有疑问欢迎在下面评论,转载请标明出处。

如果对您有帮助请动动鼠标右下方给我来个赞,您的支持是我最大的动力。

posted @ 2018-09-19 22:47  huangenai  阅读(1050)  评论(0编辑  收藏  举报