如何将函数作为参数传递给 angularjs 控制器中的另一个函数? [英] how to pass a function as a argument to another function in a controller in angularjs?
本文介绍了如何将函数作为参数传递给 angularjs 控制器中的另一个函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
一个很常见的问题.非常感谢帮助!!
A very common question. help is really appreciated !!
我无法将 loginCtrl 作为参数传递给 SignupCtrl
i am not able to pass loginCtrl as a argument in SignupCtrl
另外,如果有任何正确的方法可以做到这一点,请提出
Also if there is any proper way to do this please suggest
这是代码
$scope.loginCtrl = function ($scope, $modalInstance) {
$scope.cancelLogin = function () {
$modalInstance.dismiss('cancel');
}
};
$scope.signupCtrl = function ($scope, $modalInstance,loginCtrl){
$scope.close1=loginCtrl.cancelLogin;
$scope.cancelLogin = function () {
$modalInstance.dismiss('cancel');
}
};
推荐答案
绑定点击事件.
user.showModalDialog = function (item) {
var obj = {
selectedItem: item
};
_showModalDialog(obj);
};
_showModalDialog 方法
var _showModalDialog = function (params) {
$modal.open({
templateUrl: "your html template URL",
backdrop: 'static',
windowClass: 'modal-width-50',
resolve: {
params: function () { return params; }
},
controller: function ($scope, $modalInstance, params) {
var user = params.selectedItem;
// you can receive your params here in params.
$scope.user=user;
}
另一种方法,
var _showModalDialog = function (params) {
$modal.open({
templateUrl: "your html template URL",
backdrop: 'static',
controller: _userCtrl,
windowClass: 'modal-width-50',
resolve: {
params: function () { return params; }
}});
它的控制器在同一个文件中,它的内联控制器,你也可以把它放在外部文件中.
its controller in the same file, its the inline controller, you can also make it in external file.
var _userCtrl = ['$scope', '$modalInstance', 'params', function ($scope, $modalInstance, params) {
var user = params.selectedItem;
// you can receive your params here in params.
$scope.user = user;
}];
第二种方法是,您可以通过服务在两个控制器之间传递数据.
Second approach is, you can pass data between two controllers by use of service.
这篇关于如何将函数作为参数传递给 angularjs 控制器中的另一个函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文