此HTML邀请按钮点击:
<p><button class="btn btn-info" ng-click="ResetEventStation()">
Choose a different station</button></p>
调用此函数:
$scope.ResetEventStation = function()
{
localStorage.removeItem("stationId");
localStorage.removeItem("stationName");
localStorage.removeItem("isRegistrationStation");
$scope.stationId = -1;
$scope.stationName = '';
$scope.isRegistrationStation = false;
}
我可以通过该功能断点和一步,但当我超越结束支撑时,我得到了
angular.js:13236错误:[orderBy:notarray]预期数组但收到:{“customer_id”:97,“event_id”:6,“station_id”:7,“station_name”:“St.Pancras”,“ customer_name“:”mawg“,”event_title“:”事件一“,”令牌“:”20000097-6ee02241-7231-4f8d-9956-5cf5022de147“} http://errors.angularjs.org/1.5.0/orderBy/notarray?p0=%7B%22customer_id%22% ...%22%2C%22token%22%3A%2220000097-6ee02241-7231-4f8d-9956-5cf5022de147%22%7D 在angular.js:68 在angular.js:20410 at fn(eval at compile(angular.js:14086),:4:200) 在regularInterceptedExpression(angular.js:15213) 在Scope。$ digest(angular.js:16655) 在ChildScope。$ apply(angular.js:16928) 在HTMLButtonElement。 (angular.js:24551) 在HTMLButtonElement.dispatch(jquery-2.1.1.min.js:3) 在HTMLButtonElement.r.handle(jquery-2.1.1.min.js:3)
谷歌搜索显示它是一个过滤器错误,当然,浏览器控制台显示了这个功能,我认为Angular为我生成了这个功能:
(function($filter,ensureSafeMemberName,ensureSafeObject,ensureSafeFunction,getStringValue,ensureSafeAssignContext,ifDefined,plus,text
/*``*/) {
"use strict";
var fn=function(s,l,a,i){var v0,v1,v2,v3=l&&('ResetEventStation' in l);v2=v3?l:s;if(!(v3)){if(s){v1=s.ResetEventStation;}}else{v1=l.ResetEventStation;}ensureSafeObject(v1,text);if(v1!=null){ensureSafeFunction(v1,text);v0=ensureSafeObject(v2.ResetEventStation(),text);}else{v0=undefined;}return v0;};return fn;
})
我真的不明白发生了什么。有人能告诉我我做错了什么,以及如何解决错误?
我可以看到{"customer_id":97,"event_id":6,"station_id":7,"station_name":"St. Pancras","customer_name":"mawg","event_title":"Event one","token":"20000097-6ee02241-7231-4f8d-9956-5cf5022de147"}
不是一个数组,但不确定它被引用的原因。
答案 0 :(得分:2)
您应该在代码中查找orderBy
过滤器并更改/删除它。因为,它正在尝试对数组进行排序,而不是数组,而是拥有该对象。
有两种方法可以使用此过滤器:
ng-repeat="something in someArray | orderBy: some"
$filter('orderBy')(...)
搜索这些并修改它们以改为使用数组(或删除过滤器)以消除此错误!