我知道您可以通过包含选项来禁用Vue计算属性中的缓存cache: false.例如:
computed: {
now: {
cache: false,
get() {
return Date.now();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我想知道这个功能是否适用于Vuex吸气剂
Mak*_*Mak 14
要"禁用"缓存,您可以利用这样一个事实,即要用作函数的getter不会被缓存.
来自vuex文档
请注意,通过方法访问的getter将在每次调用时运行,结果不会被缓存.
如果您不介意在访问非缓存属性时添加括号(实际上是调用函数),您可以使用以下内容:
getters: {
myNonCachedGetter: state => () => {
// original getter body
}
}
Run Code Online (Sandbox Code Playgroud)
然后用它作为myNonCachedGetter().
事实证明,以下版本在较新版本的vuex中不起作用.
但是,如果您希望它看起来像普通的getter,可以将它包装到一个带调用的函数中:
getters: {
myNonCachedGetter: state => (() => {
// original getter body
})()
}
Run Code Online (Sandbox Code Playgroud)
它确实使代码看起来更难以阅读,但它可以被称为简单myNonCachedGetter.
| 归档时间: |
|
| 查看次数: |
3209 次 |
| 最近记录: |