1
我有一個名爲App.BlockView
的視圖類。它有一個名爲selected
的房產,並點擊此視圖切換selected
屬性。如何在Emberjs View類的所有實例上設置屬性
當我捕獲某些事件,如點擊容器的背景時,我想在所有視圖(或將它設置爲true)設置selected
屬性爲false。有沒有什麼辦法可以收集視圖類的所有實例 - 不管它們在哪裏以及如何實例化 - 併爲它們設置屬性?
請注意,我的視圖是在像{{View App.BlockView}}
這樣的句柄模板中創建的,因此我不保留對它們的引用。
你能舉一個例子說明你將如何觸發deselectAll()函數嗎?我想從控制器你可以做App.BlockView.deselectAll(),但它似乎不好使用這種靜態的方式。 –
出於某種原因,我期待着Ember能夠保留我所有觀點的參考並使其可用。但是這個解決方案很容易實現並且工作得很好。謝謝盧克! – Aras
@ sly7_7,你是對的。使用這個類有點味道(因爲它是全局的)。除了我的頭頂,你可以在某種注入註冊表中註冊視圖實例,注入註冊表也會注入到控制器中,或者注入到需要觸發影響所有實例的操作的任何位置。 –