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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM