我只是尝试在angularjs的单个ng-init中调用两个函数但是它通过错误给我。 我的代码:
ng-init="function1();function2();"
我不知道如何正确地调用这些功能。任何人都可以给我一些想法 Thanls推进..
答案 0 :(得分:5)
您可以创建一个主要功能,如" init"并调用该函数内的其他函数。
ng-init="init()"
来自您的控制器
function init() {
function1();
function2();
}
答案 1 :(得分:4)
查看以下链接,并查看控制台。
http://plnkr.co/edit/60Ry6hwiunAF12PZclNW?p=preview
HTML
<div ng-init='one(); two();'></div>
JS
$scope.one = function(){
console.log('one')
};
$scope.two = function(){
console.log('two')
};
希望这是你所期待的
答案 2 :(得分:1)
首先,这应该有效,可能之所以没有,是因为你在范围内没有这些功能。你对这个或祖先元素有ng-controller
吗?
如果这样做,请确保在范围内定义了这些功能:
.controller("MainCtrl", function($scope){
$scope.function1 = function(){...};
$scope.function2 = function(){...};
});
其次,你不应该使用ng-init
来调用函数。
<div ng-controller="MainCtrl">
</div>
而是在控制器中调用这些函数:
.controller("MainCtrl", function($scope){
function1();
function2();
function function1(){...};
function function2(){...};
});
来自Angular documentation on ngInit
:
ngInit的唯一合适用途是用于别名ngRepeat的特殊属性,如下面的演示所示。除了这种情况,您应该使用控制器而不是ngInit来初始化作用域上的值。