Angularjs 在angular中调用两次控制器函数

Angularjs 在angular中调用两次控制器函数,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我目前正在着手处理angular,我是一个全新的人,我已经为这个问题准备了一个JSFIDLE 但简而言之,我不确定为什么附加到角度范围的函数会被调用两次 剧本 var registrationModule = angular.module("registrationModule", []); registrationModule.controller("NavigationController", function ($scope) { $scope.menuItems = [{ te

我目前正在着手处理angular,我是一个全新的人,我已经为这个问题准备了一个JSFIDLE

但简而言之,我不确定为什么附加到角度范围的函数会被调用两次

剧本

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


    你好{{getClass();}}布彻


有什么建议吗?

Noel的回答对我不起作用。如何更改函数以设置变量

registrationModule.controller("NavigationController",  function ($scope) {
    $scope.menuItems = [{ text: 'Home'}];
    alert("hi");
    $scope.setClass = function (path) {
        alert("setClass");
        $scope.class = "frank";
    };
});

看看这把小提琴:

角度摘要循环就是这样构建的。视图中的任何表达式将至少执行一次


编译视图时,它将调用
getClass()
函数以获取值,然后再次运行摘要循环以查看自上次调用以来是否有任何更改。这就是它如何知道您的视图是最新的。

这是angularjs摘要循环。我认为这是路线注册的问题。。。这对我也不起作用:)
registrationModule.controller("NavigationController",  function ($scope) {
    $scope.menuItems = [{ text: 'Home'}];
    alert("hi");
    $scope.setClass = function (path) {
        alert("setClass");
        $scope.class = "frank";
    };
});