Angular 带有 JSON 连字符的 orderby
Angular orderby with JSON-hyphen
我有一个 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">
为了让它工作,我应该使用什么语法?
谢谢。
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];
};
};
我有一个 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">
为了让它工作,我应该使用什么语法?
谢谢。
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];
};
};