Javascript orderby和track by$index在AngularJS中不起作用
我已经订购了一个列表并使用了Javascript orderby和track by$index在AngularJS中不起作用,javascript,html,angularjs,Javascript,Html,Angularjs,我已经订购了一个列表并使用了track by$index。但看起来,这个列表并没有排序 <div ng-controller="MyCtrl"> <div ng-repeat="rfi in rfiList | orderBy:['name', 'status'] track by $index"> <p> {{rfi.name}}==>{{rfi.status}} <button ng-click="searc
track by$index
。但看起来,这个列表并没有排序
<div ng-controller="MyCtrl">
<div ng-repeat="rfi in rfiList | orderBy:['name', 'status'] track by $index">
<p>
{{rfi.name}}==>{{rfi.status}}
<button ng-click="search($index)">OK
</button>
</p>
</div>
</div>
这里发生的情况是,在search
方法中,rfiList[index]在更改列表顺序后没有获得值
在列表排序后,如何使用索引获取值
以下是中的代码。由于管道/过滤器的原因,列表在代码的前端部分排序,而不是在控制器本身 如果您需要控制器端的有序列表,请尝试在控制器本身中对其进行排序
希望有帮助。由于管道/过滤器的原因,列表在代码的前端部分排序,而不是在控制器本身 如果您需要控制器端的有序列表,请尝试在控制器本身中对其进行排序 希望有帮助。试试这个:
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.rfiList = [{
name: 'GHI',
status: true
},
{
name: 'GHI',
status: false
},
{
name: 'DEF',
status: true
},
{
name: 'DEF',
status: false
},
{
name: 'ABC',
status: true
},
{
name: 'JKL',
status: true
}
];
$scope.search = function(index,rfi) {
alert('Index is=' + index + ' and value is=' + rfi.name + '-->' + rfi.status);
};
}
在你的html中
<div ng-controller="MyCtrl">
<div ng-repeat="rfi in rfiList | orderBy:['name', 'status'] track by $index">
<p>
{{rfi.name}}==>{{rfi.status}}
<button ng-click="search($index, rfi)">OK
</button>
</p>
</div>
</div>
{{rfi.name}==>{{rfi.status}
好啊
试试这个:
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.rfiList = [{
name: 'GHI',
status: true
},
{
name: 'GHI',
status: false
},
{
name: 'DEF',
status: true
},
{
name: 'DEF',
status: false
},
{
name: 'ABC',
status: true
},
{
name: 'JKL',
status: true
}
];
$scope.search = function(index,rfi) {
alert('Index is=' + index + ' and value is=' + rfi.name + '-->' + rfi.status);
};
}
在你的html中
<div ng-controller="MyCtrl">
<div ng-repeat="rfi in rfiList | orderBy:['name', 'status'] track by $index">
<p>
{{rfi.name}}==>{{rfi.status}}
<button ng-click="search($index, rfi)">OK
</button>
</p>
</div>
</div>
{{rfi.name}==>{{rfi.status}
好啊
请遵循以下代码,它工作正常:
HTML
<div ng-controller="MyCtrl">
<div ng-repeat="rfi in rfiList | orderBy:name:status track by $index">
<p>
{{rfi.name}}==>{{rfi.status}}
<button ng-click="search($index)">OK
</button>
</p>
</div>
</div>
请遵循以下代码,它工作正常: HTML
<div ng-controller="MyCtrl">
<div ng-repeat="rfi in rfiList | orderBy:name:status track by $index">
<p>
{{rfi.name}}==>{{rfi.status}}
<button ng-click="search($index)">OK
</button>
</p>
</div>
</div>
谢谢,它起作用了。就像传递rfi的想法:)。我应该会想到:汉克斯,它起作用了。就像传递rfi的想法:)。我应该会想到:P