Vue.js基础教程之挂载选项data必须是函数

原标题:Vue.js基础教程之挂载选项data必须是函数
使用组件时 , 大多数可以传入到Vue构造器中的选项可以在Vue.extend()或Vue.component()中注册组件时使用 , 但有一个重要前提:data必须是函数 。
正确的写法:
Vue.component('my-component',{template:'#myTemplate',data:function(){return{message:'你好,中国'}}})注意:如果data选项指向某个对象 , 这意味着所有的组件实例共用一个data 。
我们应当使用一个函数作为data选项 , 让这个函数返回一个新对象 。
Vue.js基础教程之挂载选项data必须是函数
Vue.js基础教程之挂载选项data必须是函数
文章图片
运行结果 , 这三个组件共享了同一个data , 因此增加一个counter会影响所有组件!

Vue.js基础教程之挂载选项data必须是函数
文章图片
解决办法:为每个组件返回新的data对象来解决这个问题!
data:function(){return{counter:0}}