在vue中 data是一个对象 或是一个方法的区别
首先说data在不同状态下到底是对象或function在一个普通的vue实例中data是一个对象 ,new Vue( {data : {title : ''object"}} );在一个普通的vue实例中data是一个function ,Vue.component( 'component-name', V...
·
首先说 data在不同状态下到底是对象或function
- 在一个普通的vue实例中 data是一个对象 ,
new Vue( {
data : {
title : ''object"
}
} );
- 在一个普通的vue实例中 data是一个function ,
Vue.component( 'component-name', Vue.extend( {
data : function() {
return {
title : 'abc'
};
}
} ) );
为仕么要在组件中写成function
组件被定义,data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data 仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!通过提供 data 函数,每次创建一个新实例后,我们能够调用 data 函数,从而返回初始数据的一个全新副本数据对象。(也就是说写成函数,会有函数作用域的概念 ,是私有函数,只作用到当前组件中)
更多推荐
已为社区贡献8条内容
所有评论(0)