這個問題困擾了我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