如何通过一个函数在angularjs控制器的参数给另一个函数? [英] how to pass a function as a argument to another function in a controller in angularjs?

查看:159
本文介绍了如何通过一个函数在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆