vue定义data的三种方式与区别
1.对象写法
var app = new Vue({
el: '#yanggb',
data: {
yanggb: 'yanggb'
}
})
2.函数写法
var app = new Vue({
el: '#yanggb',
data: function() {
return {
yanggb: 'yanggb'
}
}
})
3.函数ES6写法
var app = new Vue({
el: '#yanggb',
data() {
return {
yanggb: 'yanggb'
}
}
})
三种写法的区别总结
在简单的vue实例应用中,三种写法几乎是没有什么区别的,因为你定义的#yanggb对象不会被复用。
但是如果是在组件应用的环境中,就可能会存在多个地方调用同一个组件的情况,为了不让多个地方的组件共享同一个data对象,只能返回函数。这个与JavaScript的作用域特性有关,函数自己拥有私有的作用域,函数之间的作用域相互独立,也就不会出现组件对数据的绑定出现交错的情况。