page - ¿Existe ngRepeat en Angular 2?
page title angular 4 (3)
He leído varias entradas del rastreador de problemas en relación con Angular 2 y su implementación de ng-repeat, pero tal como está, aún no he resuelto si realmente existe.
¿Es posible usar ng-repeat
en angular 2?
Lanzamiento Angular 2.0
mi-componente.ts:
import { Component } from ''angular2/core'';
@Component({
selector: ''my-component'',
templateUrl: ''./my-component.html''
})
export class MyComponent{
public values: number[] = [1, 2, 3];
}
my-component.html:
<div *ngFor=''let value of values; trackBy: index;''>
{{ value }}
</div>
De alfa 28 a 30 es la siguiente sintaxis:
import { NgFor } from ''angular2/angular2'';
@View({ directives: [NgFor] })
<div *ng-for="#item of items">
ACTUALIZACIÓN: este comentario ya no está actualizado, por favor vea la respuesta aceptada
OK, ACTUALMENTE, los siguientes trabajos.
/// <reference path="typings/angular2/angular2.d.ts" />
import {Component, View, For, bootstrap} from ''angular2/angular2'';
// Annotation section
@Component({
selector: ''itemlist''
})
@View({
directives: [For]
template: `<h2 (click)="onClick()">Hello {{ name }}</h2><ul><li *for="#item of items">{{item.name}}</li></ul>`
})
// Component controller
class ItemList {
name: string;
items: array;
constructor() {
this.name = ''Sub'';
this.items = [];
this.addItem("Dog 0");
this.addItem("Dog 1");
this.addItem("Dog 2");
}
addItem(name){
this.items.push({id: this.items.length, name: name});
}
onClick() {
console.log(this.items);
this.addItem("Dog "+this.items.length);
}
}
Lo que me faltaba
Necesitas importar For
(linea 3)
Debe declarar su dependencia de For
para el componente en cuestión (línea 9)
La sintaxis correcta para "ng-repeat" es ACTUALMENTE *for="#item of items"
Parece que ya ha cambiado bastante durante el desarrollo, por lo que no me sorprendería si cambia otra vez.