【问题标题】:ui-router ui-grid Typeerror undefinedui-router ui-grid Typeerror undefined
【发布时间】:2015-08-24 12:30:31
【问题描述】:

我在一个项目中使用 ui-router 和 ui-grid。 当我将状态切换到包含 ui-grid 的不同视图时,我收到 TypeError。 如果没有 ui-router,我就没有这个问题。我已经尝试了一个包含 ui-grid 的 html 页面。那里没有问题。当我实现 ui-router 时,发生了 TypeError。

我在 plunkr 上添加了一个演示。 http://plnkr.co/edit/FzsxLDNGRWQrpGUKNHBa?p=preview 正如您在我的 app.js 中的以下代码中看到的那样,我的模块填充了 ui-router 和 ui-grid 的依赖项。

var app = angular.module('app', [ 'ui.router', 'ui.grid' ]);

如果您切换到此演示中的第二个视图,您将看到一个空的 ui-grid。 Chrome 开发者工具报告 TypeError。

【问题讨论】:

    标签: angular-ui-router angular-ui-grid


    【解决方案1】:

    您在模板中将 View2Controller 称为 vm,但在 $scope 中添加了 gridOptions,只需将 $scope.gridOptions 更改为 vm.gridOptions 即可。

    vm.gridOptions = {
            onRegisterApi: function (gridApi) {
                $scope.gridApi = gridApi;
            },        
            data: 'vm.customers',
    
            columnDefs: [
              {
                  field: 'status', name: '', width: 50, sort: {
                      direction: uiGridConstants.DESC,
                      priority: 0
                  }
              },
              {
                  field: 'member', name: 'M', width: 50, type: 'boolean',
                  cellTemplate: '<input type="checkbox" ng-model="row.entity.lid" >'
              },
              {
                  field: 'company', name: 'Company', width: 200, minWidth: 200, maxWidth: 600
              },
              { field: 'creationDate', name: 'Date', width: 120, cellClass: 'right-align', type: 'date' },
            ]
        };
    

    http://plnkr.co/edit/mpRYJZKEnwPIRefPQc9J?p=preview

    【讨论】:

    • 谢谢。它可以工作,但我必须在我的 html 中实例化 ng-controller。如果我在 $stateprovider 中的 $state 中定义控制器和控制器,同样的错误会不断发生。关于如何在 $stateprovider 而不是直接在 html 中定义控制器和 controllerAs 的任何建议?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多