zoukankan      html  css  js  c++  java
  • angularjs1.6.4中使用ng-table出现data.slice is not a function的问题

    这个问题困扰了我2个小时。

    项目中angularjs的版本从1.4.8升级到1.6.4,升级完成之后,发现ng-table不能用了。主要报错信息是ng-table中data.slice is not a function

    先说解决方法,

            Factory.getIndex().then(function (data) {
                // $scope.tableParams = new NgTableParams({ count: 4 }, { counts: [], dataset: data });升级到1.6.4之后,data又被封装了一层,所以,需要用下面的写法
                $scope.tableParams = new NgTableParams({ count: 4 }, { counts: [], dataset: data.data });
            }).catch(function (data) {
                $scope.error = "An Error has occured while Loading Trust! " + data.ExceptionMessage;
            });

    上面注释已经写清楚了。

    再说原因,是dataset: data,中的data在1.4.8和1.6.4中返回的对象不一样。在1.4.8中,data直接是一个数组。而在1.6.4中却是一个对象,数据存放在data下的data属性中。所以写成data.data

  • 相关阅读:
    浅拷贝和深拷贝
    squeezenet
    7常用函数
    6表的约束
    5select的运用
    4操作符
    3基本数据操作
    2基本数据类型
    1mysql的安装
    16多态
  • 原文地址:https://www.cnblogs.com/tfiremeteor/p/6894772.html
Copyright © 2011-2022 走看看