2016-12-11 46 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'); 
    } 
}