Vue.js VueJS存储模式与get&;设置
我有一个小商店(遵循VueJS(而不是VUEX)上的状态模式) 基本上是这样的Vue.js VueJS存储模式与get&;设置,vue.js,state,Vue.js,State,我有一个小商店(遵循VueJS(而不是VUEX)上的状态模式) 基本上是这样的 export default { get selectedPartner() { return localStorage.getItem('selectedPartner'); }, set selectedPartner(item) { localStorage.setItem('selectedPartner', item); },
export default {
get selectedPartner() {
return localStorage.getItem('selectedPartner');
},
set selectedPartner(item) {
localStorage.setItem('selectedPartner', item);
},
clearFilters() {
localStorage.removeItem('selectedPartner');
}
}
在我的.vue组件中,我现在正试图像这样绑定到它
data: function() {
return {
// Other stuff here...
selectedPartner: filterStore.selectedPartner,
}
},
现在,当它绘制组件时,实际上正确地调用了getter。
当我更改组件中的值时,它不会更新存储
我确实意识到这样做(在本地存储中)非常接近VUEX。
但在进入VUEX之前,我们选择了这种方法,首先以最简单的形式掌握状态
非常感谢使用
计算
而不是数据
:
computed: {
selectedPartner: {
get() { return filterStore.selectedPartner; },
set(item) { filterStore.selectedPartner = item; }
}
}
set selectedPartner
函数是否被调用?不,它不被调用:-(这确实有效,但有点达不到目的。我想在我的存储和我的data()属性之间进行双向绑定。这是不可行的吗?这会带来另一个问题,计算属性被缓存…:(因此,他们不会重新评估更改后的结果