javascript - 将常量注入(inject)到 Angular js中的 Controller (模式弹出问题)

标签 javascript angularjs ng-grid angular-ui-modal

我在 ng 网格中单击一行中的按钮时显示一个模式弹出窗口。因此,为了在模式弹出窗口中获取一个表单,我将使用 JSON 架构填充它,如下所示

模态弹出窗口的 Html 为

<div class="modal-header">
      <h3 class="modal-title">Edit Row</h3>
  </div>
  <div class="modal-body">
    <form sf-schema="schema" sf-form="form" sf-model="entity"></form>
  </div>
  <div class="modal-footer">
      <button class="btn btn-success" ng-click="save()">Save</button>
      <button class="btn btn-warning" ng-click="$close()">Cancel</button>
  </div>
</div>

架构被放入外部 js 文件中的常量中,如下所示:

var app = angular.module("myApp", ['ngGrid','ui.bootstrap']);
app.constant('UserPopUpSchema', {
    type: 'object',
    properties: {
        FullName: { type: 'string', title: 'FullName' },
        UserName: { type: 'string', title: 'UserName' },
        Password: { type: 'string', title: 'Password' },
        EmailAddress: { type: 'string', title: 'EmailId' },
        Phone: {type:'string',title:'phNum'}
    }
});

因此,在单击 ng-grid 中的一行时,我正在执行一个名为 edit row 的函数,该函数将打开弹出窗口并根据常量填充表单。

 $scope.editRow = function (grid,row) {
        $modal.open({
            templateUrl: 'PopUpTemplate.htm',
            controller:['$modalInstance', 'grid', 'row','UserPopUpSchema', function($modalInstance,grid,row){

        schema = 'UserPopUpSchema';

         entity = angular.copy(row.entity);
         form = [
           'FullName',
           'UserName',
           'Password',
           'EmailId',
          'phNum'
           ];


            }],
            resolve: {
                grid: function () { return grid; },
                row: function () { return row; }
            }
        });
    };

但是在这里我对如何向 Controller 函数注入(inject)常量有点困惑。结果模态显示为空白表单。

感谢任何帮助!!

最佳答案

试试这个

$modal.open({
    templateUrl: 'PopUpTemplate.htm',
    controller: function ($modalInstance, grid, row, UserPopUpSchema) {
     // Do Stuff
    },
    resolve: {
        grid: function () {
            return grid;
        },
        row: function () {
            return row;
        },
        UserPopUpSchema: function () {
            return UserPopUpSchema;
        }
    }
});

关于javascript - 将常量注入(inject)到 Angular js中的 Controller (模式弹出问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34356104/

相关文章:

javascript - 检查 contenteditable div 是否为空

javascript - Angularjs 检索与按钮相邻的 ng-repeat

angularjs - 如何在 ng-grid 中隐藏行

javascript - Angular 网格反向列

字典的 Javascript 字典到基于第二层键的字典

javascript - 当我使用 CSS 和 JS 向下滚动时,如何从左向右移动(动画)元素?

angularjs - 使用 SetInterval/SetTimeout 更新范围

javascript - 如何创建自定义过滤器 angularjs javascript Controller 端?

angularjs - 在ui-grid中显示数据的一些问题

javascript - 导入模块中的 Angular Controller 无法正常工作