如何通过一个函数在angularjs控制器的参数给另一个函数? [英] how to pass a function as a argument to another function in a controller in angularjs?
本文介绍了如何通过一个函数在angularjs控制器的参数给另一个函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
一个很常见的问题。帮助真的AP preciated !!
我不能够通过loginCtrl在SignupCtrl
一个说法此外,如果没有做到这一点请建议任何适当的方式
这里是code
$ scope.loginCtrl =功能($范围,$ modalInstance){
$ scope.cancelLogin =功能(){
$ modalInstance.dismiss('取消');
}
}; $ scope.signupCtrl =功能($范围,$ modalInstance,loginCtrl){
$ scope.close1 = loginCtrl.cancelLogin;
$ scope.cancelLogin =功能(){
$ modalInstance.dismiss('取消');
}
};
解决方案
绑定click事件。
user.showModalDialog =功能(项目){ VAR OBJ = {
将selectedItem:项目
};
_showModalDialog(OBJ);};
_showModalDialog法
VAR _showModalDialog =功能(PARAMS){
$ modal.open({
templateUrl:你的HTML模板URL,
背景:静态,
windowClass:'模式宽度50'
解析:{
params:一个函数(){返回PARAMS; }
},
控制器:函数($范围,$ modalInstance,则params){
VAR用户= params.selectedItem;
//你可以在这里收到您的PARAMS PARAMS中。
$ scope.user =用户;
}
这样做的另一种方式,
VAR _showModalDialog =功能(PARAMS){
$ modal.open({
templateUrl:你的HTML模板URL,
背景:静态,
控制器:_userCtrl,
windowClass:'模式宽度50'
解析:{
params:一个函数(){返回PARAMS; }
}});
其在同一文件中的控制器,其内嵌控制器,也可以使其在外部文件
VAR _userCtrl = ['$范围,$ modalInstance','参数',函数($范围,$ modalInstance,则params){
VAR用户= params.selectedItem;
//你可以在这里收到您的PARAMS PARAMS中。
$ scope.user =用户;
}];
第二个方法是,你可以通过使用服务传递两个控制器之间的数据。
A very common question. help is really appreciated !!
i am not able to pass loginCtrl as a argument in SignupCtrl
Also if there is any proper way to do this please suggest
here is the code
$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');
}
};
解决方案
Bind click event.
user.showModalDialog = function (item) {
var obj = {
selectedItem: item
};
_showModalDialog(obj);
};
_showModalDialog Method
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;
}
Another way of doing this,
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屋!
查看全文