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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
63
粉丝
17
喜欢
140
收藏
118
排名:132
访问:7.4 万
私信
所有博文
社区赞助商