mmaff 的个人博客 / 0 / 4 / 创建于 3年前 / 更新于 3年前
我在vue中关于全局变量store的getters里面看到类似的代码,请问是es6语法吗?具体怎么理解这个代码呢?
完整的是getters: { demoValue: state => state.demoValue,},
如果是demoValue是对象的属性,为什么不直接getters: { demoValue: state.demoValue,},
本作品采用《CC 协议》,转载必须注明作者和本文链接
区别就是,一个接受的是变量,一个接受的是函数
@Error_404 谢谢 这里为什么这样定义呀,函数传参再返回对应值 而不是直接返回值
前面那个是一种闭包写法,只是初始化定义,调用时候去执行函数内容,而不是赋值
getters: { demoValue: state => state.demoValue, },
es6 的简写形式 相当于 es5 的
getters: { demoValue: function(state) { return state.demoValue } },
这样定义的 demoValue 是一个函数,每次获取 demoValue 应该都会执行这个方法,从而获取到最新的值。
getters: { demoValue: state.demoValue },
这样的话 demoValue 就直接是 state.demoValue 的值或者引用,如果 state.demoValue 恰好是一个简单值 (number, string, boolean, undefined, null),getters.demoValue 就定死了,不会被动更新了。个人理解,可能有出入。
state.demoValue
getters.demoValue
我要举报该,理由是:
区别就是,一个接受的是变量,一个接受的是函数
@Error_404 谢谢 这里为什么这样定义呀,函数传参再返回对应值 而不是直接返回值
前面那个是一种闭包写法,只是初始化定义,调用时候去执行函数内容,而不是赋值
es6 的简写形式 相当于 es5 的
这样定义的 demoValue 是一个函数,每次获取 demoValue 应该都会执行这个方法,从而获取到最新的值。
这样的话 demoValue 就直接是
state.demoValue
的值或者引用,如果state.demoValue
恰好是一个简单值 (number, string, boolean, undefined, null),getters.demoValue
就定死了,不会被动更新了。个人理解,可能有出入。