我现在正处理棱角分明,而且我是一个全新的人,我已经为这个问题安排了一个小伙伴。
但总之,我不确定为什么附加到角度范围的函数会被调用两次。
脚本
var registrationModule = angular.module("registrationModule", []);
registrationModule.controller("NavigationController", function ($scope) {
$scope.menuItems = [{ text: 'Home'}];
alert("hi");
$scope.getClass = function (path) {
alert("getClass");
return "frank";
};
});
HTML
<body ng-app="registrationModule">
<div class="collapse navbar-collapse navbar-responsive-collapse">
<ul class="nav navbar-nav navbar-right" ng-controller="NavigationController">
hi {{ getClass(); }} butcher
</ul>
</div>
</body>
任何提示?
答案 0 :(得分:2)
Angular摘要循环以这种方式工作。您视图中的所有表达式都将至少执行一次。
编译视图时,它将调用您的getClass()
函数获取一个值,然后它将再次运行摘要循环,以查看自上次调用以来是否有任何更改。这就是它知道您的观点是最新的。
答案 1 :(得分:0)
registrationModule.controller("NavigationController", function ($scope) {
$scope.menuItems = [{ text: 'Home'}];
alert("hi");
$scope.setClass = function (path) {
alert("setClass");
$scope.class = "frank";
};
});
看看这个小提琴:http://jsfiddle.net/6F55K/3/