我正在創建一些指令,這些指令將組成我應用程序中的一個「屏幕」。爲了創建這個新的屏幕,你會寫這樣的:Angular中的多層指令之間的通信
<screen title="Test Title">
<side-menu align="left">
<menu-item>Test One</menu-item>
<menu-item selected="true">Test Two</menu-item>
<menu-item disabled="true">Test Three</menu-item>
</side-menu>
<content animation="fade">
<view>Content for menu option 1</view>
<view>Content for menu option 2</view>
<view>Content for menu option 3</view>
</content>
</screen>
每個<menu-item>
將顯示的<content>
標籤內的「意見」之一。它像標籤一樣工作。我已經通過在鏈接中跟蹤<content>
指令中每個<view>
指令的數組來設置它們。相同的<menu-item>
。
我的問題是,現在我已經設置好了,<side-menu>
指令和<content>
指令之間進行通信的最佳方式是什麼,以便在單擊時隱藏並顯示正確的視圖?我應該使用事件,通用服務來保持狀態,還是有辦法從<view>
和<menu-item>
指令中訪問<screen>
指令中的控制器,並在那裏保存數據/狀態?根據我的理解,我只能從子指令訪問父控制器,但如果您願意的話,則不能訪問「父母」控制器,除非我使用某種傳遞。
我打算在這個「屏幕」上還有一些需要溝通的組件,所以我希望在繼續之前確定「正確」的方式來做到這一點,或者至少得到一些反饋,其他想法。
如果有任何疑惑,我很樂意提供更多信息。