2016-12-11 44 views
0

是否可以从某个不同商店的操作中更改某个商店的状态。我通常在所有组件上使用Inject,但我猜他们不适用于商店。从商店“2”中的操作中更改商店“1”中的属性或状态

我有一个专门的商店,它控制通知弹出状态。改变它的打开/关闭状态以及来自我执行Ajax调用的所有其他商店的操作的消息将是非常好的。

回答

0

它可能是最简单的办法导入您的通知储存到其他门店,并调用一些行动这样:

// notificationStore.js 
class NotificationStore { 
    @observable notif = { state: 'closed', msg: '' }; 
    @action changeState(state, msg) { 
    this.notif.state = state; 
    this.notif.msg = msg; 
    } 
} 

export default new NotificationStore(); 

// otherStore.js 
import notificationStore from './notificationStore.js' 

class OtherStore { 
    @action someAction(someData) { 
    // Some code... 
    notificationStore.changeState('open', 'someAction complete'); 
    } 
}