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