Ich brauchte vor kurzem einige irgendwie angepasste Repeater, die Daten nach ihrem Schlüssel gruppieren, aber nicht einfach alle zusammen gruppieren, also las ich mehrere Referenzen und Dinge, ... und endlich komme ich zum Kopieren groupBy aus diesem Artikel, den er scheint es bestenfalls zu vervollständigen, ... http://sobrepere.com/blog/2014/10/14/creating-groupby-filter-angularjs/ Und dann angepasst i so ist es so geworden:Infdig in Benutzerdefinierte groupBy
die Dinge, die meine Gruppe von do ... ist:
Gruppendaten Zusammen, bis es Unterschiede erreicht. aber die Sache ist, dass, obwohl es funktioniert, es immer noch generieren infdig, ich weiß, es ist, weil die Digest getan anderen anrufen, aber was ich nicht weiß, ist, wie es auf sehr einfache und verständliche Weise zu lösen, wie ich neu bin JavaScript ...
app.filter('groupBy', function() {
var results = {};
return function (data, key) { //Data => My Objects Array - Key => Name Of Filtered Property
if (!(data && key)) return;
var result;
if (!this.$id) {
result = {};
} else {
var scopeId = this.$id;
if (!results[scopeId]) {
results[scopeId] = {};
this.$on("$destroy", function() {
delete results[scopeId];
});
}
result = results[scopeId];
}
for (var groupKey in result)
result[groupKey].splice(0, result[groupKey].length);
var grpKey = -1; //GroupKey
var lastUserId;
for (var i = 0; i < data.length; i++) {
if (!result[grpKey] || lastUserId && lastUserId != data[i][key]) // Ex.: result[data[0]["UserId"]]{ => return UserId
result[++ grpKey] = [];
result[grpKey].push(data[i]);
lastUserId = data[i][key];
}
var keys = Object.keys(result);
for (var k = 0; k < keys.length; k++) {
if (result[keys[k]].length === 0)
delete result[keys[k]];
}
return result;
};
});
können Sie machen einen plunkr witn Code –
Hallo diese uRL pls finden, seine perfekt funktioniert ... http://plinkr.co/edit/8jB4wSRtKfVmEsTGZtfV?p=preview – Ahalyaa
in diesem was Sie genau tun müssen –