Comments (9)
@thirking 这是一个全局方法,只需要在一个页面里面注册就行了,甚至于直接在 store.js 里面就可以
这个我明白,但是对一些场景不太方便,比如我两个页面分别需要针对这个状态的改变做不同的处理,这个时候,我需要分别在页面内写一个方法来处理。但是onChange只能指向一个方法。
我现在的处理方式,是在globalData中放置一个回调数组,当store触发change事件的时候,遍历执行此数组中的回调。这样我就可以在多个页面中,绑定多个change回调,针对不同页面的情况分别执行相应的处理。
globalData: {
onStoreChange: []
}
store.onChange = (e) => {
app.globalData.onStoreChange.forEach(cb => cb(e))
}
在页面中,我们就可以这样写
app.globalData.onStoreChange.push((e) => {
...do some thing
})
以上是我的一点小小的建议,总之感谢分享这个好用的库
from westore.
没有。建议使用 onChange
from westore.
但是onChange是怎么使用 假设我某个页面某个状态需要监听 那要如何使用?
from westore.
不对 是监听某个全局 store*
from westore.
store.onChange = function(){}
from westore.
然后我使用的时候 是store里面某个值变化 它都会触发回调 但是我只想store.userInfo变化才回调那要怎么写?
from westore.
store.onChange = function(diffResult){
//根据diffResult里的内容判断。里面有path的
}
from westore.
多个页面使用会被覆盖
from westore.
@thirking 这是一个全局方法,只需要在一个页面里面注册就行了,甚至于直接在 store.js 里面就可以
from westore.
Related Issues (20)
- diff.js中_diff函数中,比对基础类型数据时是不是少了一个 = ? HOT 1
- 已经不维护了吗?好多数据错乱的问题,另外omix2库也找不到了。 HOT 2
- 插件如何与小程序通信?
- 原有功能怎么下线了,挺突然,是存在什么框架限制问题吗? HOT 6
- 如果实现状态共享呢? HOT 9
- 新手问题 HOT 1
- westore组件中只要写生命周期的ready,获取不到store HOT 1
- 新手请教:两个页面(页面A,页面B),都require同一个store,如何同步更改、共享store.data呢? HOT 1
- 分享给大家我遇到问题(实际上是我自己菜) HOT 3
- 一点疑问,能否渐进式地接入此框架? HOT 2
- 小程序使用westore时,页面使用mp-form组件遇到的警告
- 请问一个页面如何引用多个store的data HOT 1
- 怎么跨页面使用 HOT 2
- 如何多个页面共享一个store使用 HOT 5
- 【bug反馈】westore.update 没有定义callback HOT 9
- Skyline Support?
- -store里调用this.update()似乎不起作用 HOT 1
- Once again about the update mechanism
- 使用的最佳实践是每个页面都应该有一个store吗?
- westore使用bind方法未及时释放页面实例,导致内存泄露 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from westore.