如何调用函数在angularjs另一个控制器? [英] How to call function in another controller in angularjs?
本文介绍了如何调用函数在angularjs另一个控制器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要调用函数在角另一个控制器js.How有可能的方式请帮我在此先感谢
code:
app.controller('一',['$范围',
功能($范围){
$ scope.parentmethod =功能(){
//任务
}
}
]);
app.controller('二',['$范围',
功能($范围){
$ scope.childmethod =功能(){
//在这里,我想打电话给一个控制器的parentmethod
}
}
]);
解决方案
控制器之间的通信,虽然$放出+ $上/ $广播+ $上的方法就完成了。
所以你的情况,你想打电话给控制器一内部控制二的方法,要做到这一点,正确的做法是:
app.controller('一',['$范围,$ rootScope
功能($范围){
$ rootScope。在$(CallParentMethod功能(){
$ scope.parentmethod();
}); $ scope.parentmethod =功能(){
//任务
}
}
]);
app.controller('二',['$范围,$ rootScope
功能($范围){
$ scope.childmethod =功能(){
。$ rootScope $发射(CallParentMethod,{});
}
}
]);
虽然$ rootScope。$发射出被调用,您可以发送任何数据,因为第二个参数。
I need to call function in another controller in angular js.How it is possible way please help me thanks in advance
Code :
app.controller('One', ['$scope',
function($scope) {
$scope.parentmethod = function() {
// task
}
}
]);
app.controller('two', ['$scope',
function($scope) {
$scope.childmethod = function() {
// Here i want to call parentmethod of One controller
}
}
]);
解决方案
Communication between controllers is done though $emit + $on / $broadcast + $on methods.
So in your case you want to call a method of Controller "One" inside Controller "Two", the correct way to do this is:
app.controller('One', ['$scope', '$rootScope'
function($scope) {
$rootScope.$on("CallParentMethod", function(){
$scope.parentmethod();
});
$scope.parentmethod = function() {
// task
}
}
]);
app.controller('two', ['$scope', '$rootScope'
function($scope) {
$scope.childmethod = function() {
$rootScope.$emit("CallParentMethod", {});
}
}
]);
While $rootScope.$emit is called, you can send any data as second parameter.
这篇关于如何调用函数在angularjs另一个控制器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文