在ng-view变化之外调用ng-view之外的函数

时间:2014-10-10 12:38:53

标签: javascript angularjs

我有一个超出ng-view范围的函数,但每次对ng-view进行更改时都会调用它。

<div id="header" ng-controller="menuController">
    <div id="menu" ng-if="showmenu">
        <ul id="mainmenu">
            ...
        </ul>
        {{ menu() }}
    </div>
</div>
<div ng-controller="bodyController">
    <div ng-view></div>
</div>

在这种情况下,每次导航时,使用#mainmenu中更改ng-view内的模板的项目,都会调用menuController.menu()函数。

为什么会这样?

1 个答案:

答案 0 :(得分:1)

这可能是因为消化周期,这可能是由很多事情引发的。只要在您的示波器上触发了摘要/应用周期,您就会看到menu()函数被调用。

大多数状态角度变化都会触发消化周期,例如点击链接等。