Vue data对象隔离问题

vue 中组件经常会遇到复用的情况,这时就要注意,vue 组件中的 data 数据应当相互隔离,互不影响,组件每复用一次,都有一个私有的数据空间,可以维护自己的数据。

当我们组件的data写成了对象形式,这些实例用的是同一个构造函数,将导致所有的组件实例共用了一个 data ,就会造成一个变了全都会变的结果。

因此我们正确的做法是利用javascript的闭包的概念,使用一个函数来返回对应的数据:

var MyComponent = Vue.extend({
  data: function () {
        return { a: 1 }
  }
})

 

posted on 2021-01-26 10:14  zhishiyv  阅读(788)  评论(0编辑  收藏  举报

导航