我正在研究emberjs latly。我有一個關於觀點如何相互交流的問題。我知道視圖不通信,所以問題可能是路由或控制器(視圖模型)。如何看待或appication的部分相互溝通emberjs
來自其他框架和語言我使用了一種稱爲pubsub的模式來傳播某些信息已更改的信息,並且其他視圖(對此信息感興趣的人)將訂閱,並且如果事件/消息是發送。
這是否也適用於emberjs哲學的模式?或者,如何根據其他部分的更改更新UI上的不同部分?
一個非常簡單的例子是:
-> Application
-> Navigation which contains a Link to the posts route with a number of current posts (count)
-> Posts route would have a list of post with details (and add,delete,etc) actions
現在,當我創建後,將被添加到列表中,我應該如何更新導航後計數?
顯然這可能/也應該適用於更復雜的例子。 作爲一個說明: 此刻我也有一個統計服務器路由。因此,導航和它的帖子數將從服務器獲取,並且它不會綁定到帖子數組的長度...
用emberjs處理這樣的事情的最佳方式是什麼?
謝謝您的回覆,並將代碼例。事情是計數將超出IndexController範圍。導航位於{{outlet}}上方的應用程序模板中。而計數應該從服務器拉到不通過ajax的長度 – silverfighter
我更新了我的答案,以解決您的評論。所有這一切都是可能的 - 我使用DS.FixturesAdapter來模擬服務器。通常你會使用類似DS.RESTAdapter的東西,它會處理你與後端的通信。例如,當你調用'this.store.findAll('user')'它會向'/ users'發送GET請求,你的數據(以及你的'count')會自動更新。在我的編輯中,我還刪除了計算屬性'count',因爲Handlebars允許您通過'{{content.length}}獲取內容的長度' – chopper
爲您工作@silverfighter? – chopper