如何使用angularjs在单个ng-init中直接调用多个函数
问题描述:
我只是尝试在angularjs的单个ng-init中调用两个函数,但它通过对我的错误。 我的代码:如何使用angularjs在单个ng-init中直接调用多个函数
ng-init="function1();function2();"
我不知道如何调用这些函数correctly.anyone可以给我一些想法去做。
Thanls advance ..
答
看看下面的链接,看看控制台。
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')
};
希望这是你期待什么
答
您可以创建一个像 “初始化” 一个主要功能和呼叫等功能在那个函数里面。
ng-init="init()"
从控制器
function init() {
function1();
function2();
}
答
首先,这应该工作,也可能是原因,它不就是因为你没有在这些范围功能。这个或祖先元素上是否有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来初始化作用域上的值。