Wenn man durch die ng-repeats-Quelle schaut, sieht es nicht so aus, als gäbe es irgendeine Instanz davon, die for-of verwendet. Gibt es eine benutzerdefinierte Direktive, die diese oder eine andere Möglichkeit zum Erreichen dieser Schleife in Vorlagen verwendet, um Iteratorfunktionen zu verwenden?Verwendung von "for ... of" in ng-repeat
Klasse mit Iterator
class Cache{
constructor(items){
this.cache = {
"one" : 1,
"two" : 2
};
};
// custom iterator that turns our cache into an array
// for use in "for...of" loops
[Symbol.iterator](){
var index = 0;
// turn cache object into array of its values (underscore method)
var data = _.values(this.cache);
return {
next: function(){
if(index < data.length){
return {
value: data[index++],
done: false
};
}else{
return { done:true };
}
}
};
};
};
var myCache = new Cache();
// looping my cache in simple js would look like
for(let val of myCache){
console.log(val);
}
// 1, 2
vorgeschlagen AngularJS ng-Repeat-Richtlinie
<ul>
<li ng-repeat="item in myCache track by $index"></li>
</ul>
aber das funktioniert nicht als ng-Wiederholung nicht for...of
nicht implementiert. Meine Frage ist: gibt es eine Möglichkeit, die ng-repeat-Direktive gut mit Iteratoren mit minimale Schnittstellenänderungen, oder noch besser, eine benutzerdefinierte Anweisung identisch mit ng-Wiederholung, die für for...of
Schleifen gemacht wird?
Dies kann Ihnen helfen: http://stackoverflow.com/questions/11873570/angularjs-for-loop-with-numbers-ranges –
Die Syntax von ng-repeat ist 'Objekt im Array' oder' (Schlüssel, Wert) im Objekt'. Was versuchst du zu erreichen? –
aktualisiert mit Beispiel – anson