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