2015-02-11 5 views
5

का उपयोग करके एकल एनजी-इनिट डायरेक्टिस में मल्टी फ़ंक्शन को कॉल करने के लिए कैसे करें, मैं केवल दो फ़ंक्शन को angularjs.s में एक एनजी-इनिट में कॉल करने का प्रयास करता हूं लेकिन यह मुझे त्रुटि के माध्यम से करता है। मेरे कोड:angularjs

ng-init="function1();function2();" 

मैं कैसे कॉल करने के लिए उन लोगों के समारोह correctly.anyone मुझे कुछ विचार यह करने के लिए दे सकते हैं पता नहीं है।
थानल्स अग्रिम ..

उत्तर

2

नीचे दिए गए लिंक को देखें, और कंसोल पर एक नज़र डालें।

http://plnkr.co/edit/60Ry6hwiunAF12PZclNW?p=preview

एचटीएमएल

<div ng-init='one(); two();'></div> 

जे एस

$scope.one = function(){ 
    console.log('one') 
}; 

$scope.two = function(){ 
    console.log('two') 
}; 

आशा आप यही उम्मीद कर रहे हैं

5

आप "init" की तरह एक मुख्य कार्य बना सकते हैं और अन्य कार्यों को कॉल कर सकते है उस समारोह के अंदर।

ng-init="init()" 

अपने नियंत्रक

सभी की
function init() { 
    function1(); 
    function2(); 
} 
1

पहले से, इस काम करना चाहिए, और शायद यही कारण है यह है आप दायरे में इन कार्यों की क्या ज़रूरत है क्योंकि यह नहीं है नहीं। क्या आपके पास इस या पूर्वज तत्व पर ng-controller है?

आप करते हैं, यह सुनिश्चित करें कि इन कार्यों गुंजाइश पर परिभाषित कर रहे हैं बनाने:

.controller("MainCtrl", function($scope){ 
    $scope.function1 = function(){...}; 
    $scope.function2 = function(){...}; 
}); 

दूसरे, आप का उपयोग नहीं किया जाना चाहिए ng-init सब पर कार्यों कॉल करने के लिए। Angular documentation on ngInit से

.controller("MainCtrl", function($scope){ 
    function1(); 
    function2(); 

    function function1(){...}; 
    function function2(){...}; 
}); 

:

<div ng-controller="MainCtrl"> 
</div> 

इसके बजाय, नियंत्रक में इन कार्यों फोन

ngInit का केवल उचित उपयोग के रूप में के रूप में देखा ngRepeat का विशेष गुण aliasing के लिए है, नीचे डेमो। इस मामले के अलावा, आपको दायरे पर मूल्यों को आरंभ करने के लिए ngInit के बजाय नियंत्रकों का उपयोग करना चाहिए।