【问题标题】:Have an AngularJS Ui-grid Error有一个 AngularJS Ui-grid 错误
【发布时间】:2015-10-08 05:24:50
【问题描述】:

我有一个单页应用程序,带有 angular js、mongoose、express 等。尝试使用 Angular ui 网格并出现错误:

"TypeError: 无法读取未定义的属性“数据” 在新的 (ui-grid.js:2967) 在 Object.e [作为调用] (angular.js:4203) 在 $get.w.instance (angular.js:8493) 在 angular.js:7739 在 r (angular.js:331) 在 B (angular.js:7738) 在 $get.c (angular.js:8016) 在 g (angular.js:7117) 在 B (angular.js:7763) 在 g (angular.js:7117)"

这是我的控制器的一部分:

angular.module('flatCtrl', ['flatService', 'ui.grid'])
    .controller('FlatController', function(Flat, socketio){

        vm = this;

        Flat.allFlat()
            .success(function(data){
                vm.flats = data;
                console.log(vm.flats);
                vm.gridOptions.data = data;

            })

和 HTML 的一部分:

<div class="col-md-12" ng-controller="FlatController as flat">
        <div ui-grid="gridOptions"></div>

如果我在成功后尝试使用vm.gridOptions.data = data,则没有任何变化。

console.log(vm.flats) 中拥有我所有的对象:

[对象,对象,对象,对象,对象,对象,对象,对象, 对象,对象,对象,对象]0:对象1:对象2:对象3:对象4: 对象 5:对象 6:对象 7:对象 8:对象 9:对象 10:对象 11: 对象

所以,在数据中我有数据

【问题讨论】:

    标签: javascript angularjs object angular-ui-grid


    【解决方案1】:

    改变

    vm.gridOptions.data = data;
    

    vm.gridOptions = {};
    vm.gridOptions.data = data;
    

    或者

    vm.gridOptions = { data: data }
    

    <div class="col-md-12" ng-controller="FlatController as flat">
        <div ui-grid="flat.gridOptions"></div>
    

    您试图读取未定义的 vm.gridOptionsdata 属性,因此首先您需要定义 vm.gridOptions 并设置该对象的 data 属性。

    【讨论】:

    • 您又忘记了一件事..更新了答案..您没有正确使用变量名..如果您想直接在视图中使用变量名,请使用$scope,否则您需要在您的情况下指定控制器对象flat
    • 我正在尝试使用 vm.gridOptions = {};vm.gridOptions.data = data;并使用此 vm.gridOptions = { data: data }。还是有错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    相关资源
    最近更新 更多