访问相邻范围

时间:2014-12-05 13:31:11

标签: angularjs angularjs-directive angularjs-scope angularjs-controller

我分别有几个面板(ng-repeat),我有一些范围。一些示波器和几个控制器。 当我关闭最后一个面板(范围)时,我需要刷新最后一个面板中的数据。

<div class="panel_block" ng-repeat="panel in content" ng-swipe-right="closeMainMenu()" ng-swipe-left="openMainMenu()">
    <div class="panel_in" onscroll="aaa()">
            <div panel-content
                 class="panel_in_panel"
                 addpanel="addpanel"
                 length="content.length"
                 lang="lang"
                 content="panel"></div>
    </div>
</div>

我在每个控制器中都有一个更新功能。但我可以从邻近的范围运行函数吗?

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的方案有两个选项:

  • 您可以将回调传递给您在close方法中触发的面板。这种方法的缺点是你最终会在你的组件之间产生一些紧密耦合,并且你开始传递的回调越多,代码就会变得混乱

  • 您可以在close方法中广播一个事件,让其他小组监听此事件。这是一个很好的资源,解释了如何做到这一点(它很简单,有很多例子):http://toddmotto.com/all-about-angulars-emit-broadcast-on-publish-subscribing/