Vue组件中的data必须是一个function的原因浅析 | 您所在的位置:网站首页 › vue组件中的data为什么必须是一个函数 › Vue组件中的data必须是一个function的原因浅析 |
组件可以有自己的data,并且data必须是一个function。 在下面这个例子中,data 返回了一个在外部定义的对象。并且这个组件在页面中使用了3次,点击+1时出现了如下情况:data中的count属性影响到了所有实例。 而当data选项是一个函数的时候,每个实例可以维护一份被返回对象的独立的拷贝,这样各个实例中的data不会相互影响,是独立的。 Vue.component('counter',{ template:'#tmp1', data:function(){ return {count:0} }, methods:{ increment(){ this.count++ } } })补充:下面看下vue组件中data必须是一个函数的原因 vue组件中data值不能为对象,因为对象是引用类型,组件可能会被多个实例同时引用。如果data值为对象,将导致多个实例共享一个对象,其中一个组件改变data属性值,其它实例也会受到影响。 上面解释了data不能为对象的原因,这里我们简单说下data为函数的原因。data为函数,通过return 返回对象的拷贝,致使每个实例都有自己独立的对象,实例之间可以互不影响的改变data属性值。 data为函数的示例: data:function(){ return { k1: 'v1', k2: 'v2', ... } }总结 以上所述是小编给大家介绍的Vue组件中的data必须是一个function的原因浅析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! 您可能感兴趣的文章:详解Vue.js基于$.ajax获取数据并与组件的data绑定浅谈vue的props,data,computed变化对组件更新的影响实现vuex与组件data之间的数据同步更新方式vuex 实现getter值赋值给vue组件里的data示例Vue组件为什么data必须是一个函数Vue父组件向子组件传值以及data和props的区别详解vue 子组件修改data或调用操作详解Vue的组件中data选项为什么必须是函数 |
CopyRight 2018-2019 实验室设备网 版权所有 |