कोणीय जेएस के ngRepeat
निर्देश का उपयोग करके, मैं इसे कैसे बना सकता हूं ताकि परिणामी पुनरावृत्ति विपरीत क्रम में जा सके? मैं एक ऑब्जेक्ट का उपयोग कर रहा हूं जहां कुंजी संख्याएं हैं, और मैं उन लोगों द्वारा क्रमबद्ध करना चाहता हूं, अवरोही।ऑब्जेक्ट की कुंजी द्वारा कोणीय ngRepeat के क्रम को कैसे उलटें, जो संख्यात्मक
मुझे पता है कि आप वास्तव में इस तरह की कुंजी (किसी सरणी के संदर्भ के बिना) द्वारा किसी ऑब्जेक्ट को सॉर्ट नहीं कर सकते हैं, लेकिन क्या यह कोणीय के साथ संभव है?
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular.min.js"></script>
<body>
<script>
var app = angular.module('myApp', []);
app.filter('orderObjectBy', function() {
return function(items, field, reverse) {
var filtered = [];
angular.forEach(items, function(item) {
filtered.push(item);
});
filtered.sort(function(a, b) {
return (a[field] > b[field] ? 1 : -1);
});
if (reverse) filtered.reverse();
return filtered;
};
});
app.controller('myController', ['$scope',
function($scope) {
$scope.data = {
2013: 'oldest 4',
2014: 'older 3',
2015: 'new 2',
2016: 'newest 1'
};
}
]);
</script>
<div id="myApp" ng-app='myApp' ng-controller="myController">
<div ng-repeat="(date,text) in data">{{text}}</div>
<hr/>
<div ng-repeat="(date,text) in data | orderBy:date:reverse">{{text}}</div>
<hr/>
<div ng-repeat="(date,text) in data | orderBy:'-date'">{{text}}</div>
<hr/>
<div><b>Correct Answer!:</b></div><hr/>
<div ng-repeat="(date,text) in data | orderObjectBy:date:true">{{text}}</div>
</div>
</body>
उदाहरण के लिए, मैं सबसे पुराना
आप उलटे क्रम तो बस डाल में दिनांक के आधार पर ऑर्डर करने के लिए चाहते हैं। '' तो कोड डेटा में "(तिथि, पाठ) होगा। ऑर्डर द्वारा: '- दिनांक'" – Anita
फ़िल्टर का उपयोग करें .. मेरा मतलब है-ng-repeat = '(दिनांक, टेक्स्ट) डेटा एस में | orderBy: दिनांक: रिवर्स ' – Ved
धन्यवाद दोस्तों, लेकिन मैंने कोशिश की है कि मेरे प्रश्न में अद्यतन कोड के साथ यह काम नहीं कर रहा है। –