不使用 Vuex。
要求:
- 可以被
computed或watch监测到修改并触发对应的更新。 - 用法简单 如定义:
export default { username: '张三', age: 18 }
使用(示例,不一定要这么用):
export default {
computed: {
username() {
return user.username
}
},
watch: {
username(newVal, oldVal) {
console.log(`${oldVal}改名了,改成${newVal}`)
}
}
}
主要是啥都写 store 太臃肿了,而且修改起来麻烦(还需要写一个 mutation 或者 action),而且现在项目中又有很多数据都是跨组件间调用的。
所以想问下有没有一个较为优雅的全局变量管理方式(因为代码跑在 electron 下,因此无需考虑兼容性问题,如 Proxy、各种 Observer)
回复 (4)
M
可能你需要的是这个吧
const state = Vue.observable({ count: 0 })
const Demo = {
render(h) {
return h('button', {
on: { click: () => { state.count++ }}
}, `count is: ${state.count}`)
}
}
2
v3 的 组合式api 可以轻易做到。 另外我写过一个 electron icp 封装(基于vue computed) 可以让渲染进程与主线程共享同一个模块使用该方法导出的变量,都可以写值过去和自动监听更新
J
引用 MeetTheBest可能你需要的是这个吧 https://cn.vuejs.org/v2/api/ Vue observable
@MeetTheBest 哇,这个看起来不错啊。感谢大佬。
参与回复
登录后即可参与回复。登录