data (){..} 返回一个对象或者不返回对象,两种写法的差异比较
写法一,返回一个对象
data() { return {
req: {}
}}
写法二,不返回对象,直接挂载到 this
data() {
this.req= {}
}
以上两种写法都可以得到 req 对象,但是不同之处至少包括:
1、写法一得到的req是响应式的,写法二的req非响应式;
2、多个mixin混合的时候,写法二可能需要考虑先后顺序,顺序颠倒可能会报错。
//写法二要考虑多个mixin的排列顺序,顺序颠倒可能报错
//执行顺序从右到左,可能使用了 mixins.pop()
mixins: [mixinReq, mixinDb],
//mixins: [mixinDb, mixinReq],
在多个mixin混合的时候,始终让data()函数返回一个对象是个好办法。即便返回的是一个空对象,某些情况下竟然可以避免报错。因此,在不需要响应式数据的时候,可以采用类似下面这样的写法
data() {
this.req= {} //无需响应式的数据
return {} //始终返回一个空对象
}
本作品采用《CC 协议》,转载必须注明作者和本文链接