Javascript AngularJS:初始化控制器时运行代码

Javascript AngularJS:初始化控制器时运行代码,javascript,angularjs,Javascript,Angularjs,为什么下面的代码不起作用?我希望$scope.init()函数在启动时运行。在控制器初始化时运行代码的正确方法是什么 app.controller('LoginCtrl', function($scope) { $scope.init(); $scope.init = function() { ... }; }); 您尝试在定义init()之前调用它。如果您切换它,它就会像您在这把小提琴中看到的那样工作: 您还可以在控制器中定义init,如下所示:

为什么下面的代码不起作用?我希望$scope.init()函数在启动时运行。在控制器初始化时运行代码的正确方法是什么

app.controller('LoginCtrl', function($scope) {
    $scope.init();

    $scope.init = function() {
        ...
    };

});
您尝试在定义init()之前调用它。如果您切换它,它就会像您在这把小提琴中看到的那样工作:


您还可以在控制器中定义init,如下所示:

app.controller('LoginCtrl', function($scope) {
    $scope.init = function() {
        ...
    };
});
然后从标记中调用它:

<body ng-init='init()'>
...
</body>

...

尝试将
init()
放在函数后面?
$scope.init()
在调用它的位置不存在。设置后调用它,即首先
$scope.init=function…
,然后
$scope.init()
。您甚至可能不需要将
init()
放在作用域中,内联运行它就足够了。已经尝试过了,没有任何区别。您可以设置plunk来重现错误吗?
<body ng-init='init()'>
...
</body>