我正在创建一些指令,这些指令将组成我应用程序中的一个“屏幕”。为了创建这个新的屏幕,你会写这样的: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>
指令中的控制器,并在那里保存数据/状态?根据我的理解,我只能从子指令访问父控制器,但如果您愿意的话,则不能访问“父母”控制器,除非我使用某种传递。
我打算在这个“屏幕”上还有一些需要沟通的组件,所以我希望在继续之前确定“正确”的方式来做到这一点,或者至少得到一些反馈,其他想法。
如果有任何疑惑,我很乐意提供更多信息。