我在一个属性中有一个带连字符的JSON文件。我想使用ng-click对该属性对JSON数据进行排序。
这是我的代码:http://codepen.io/anon/pen/zxooMv
<a href="#" ng-click="orderByField='square-miles'; reverseSort = !reverseSort">
不起作用,也不起作用
<a href="#" ng-click="orderByField=['square-miles']; reverseSort = !reverseSort">
为了让它起作用,我应该使用什么语法?
感谢。
答案 0 :(得分:3)
orderBy
在内部使用$parse
服务,它会将您的属性解析为表达式:
square - miles
为了解决这个问题,你可以改为使用你自己的getter函数:
<tr ng-repeat="state in data.states.state|orderBy:orderBy(orderByField):reverseSort">
在你的控制器中:
$scope.orderBy = function(property) {
return function(item) {
return item[property];
};
};