Giter VIP home page Giter VIP logo

Comments (9)

thirking avatar thirking commented on August 23, 2024 1

@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.

dntzhang avatar dntzhang commented on August 23, 2024

没有。建议使用 onChange

from westore.

kiros1986 avatar kiros1986 commented on August 23, 2024

但是onChange是怎么使用 假设我某个页面某个状态需要监听 那要如何使用?

from westore.

kiros1986 avatar kiros1986 commented on August 23, 2024

不对 是监听某个全局 store*

from westore.

dntzhang avatar dntzhang commented on August 23, 2024

store.onChange = function(){}

from westore.

kiros1986 avatar kiros1986 commented on August 23, 2024

然后我使用的时候 是store里面某个值变化 它都会触发回调 但是我只想store.userInfo变化才回调那要怎么写?

from westore.

dntzhang avatar dntzhang commented on August 23, 2024
store.onChange = function(diffResult){
  //根据diffResult里的内容判断。里面有path的
}

from westore.

thirking avatar thirking commented on August 23, 2024

多个页面使用会被覆盖

from westore.

littledu avatar littledu commented on August 23, 2024

@thirking 这是一个全局方法,只需要在一个页面里面注册就行了,甚至于直接在 store.js 里面就可以

from westore.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.