2016-06-09 4 views
3

У меня есть компонент.Угловой 2 ngFor не обновлять данные

@Component({ 
selector: 'todo-list', 
directives: [TodoItemRenderer], 
providers: [TodoService], 
template: 
    '<div>'+ 
     '<ul class="list-group">'+ 
      '<li [(ngClass)]="item.class" class="list-group-item" *ngFor="#item of items">' + 
       '<todo-item-renderer [todo] = "item"></todo-item-renderer>'+ 
      '</li>'+ 
     '</ul>'+ 
    '</div>' 

}) 

Кроме того, это данные, которые я имею в службе

items: TodoModel[] = [ 
    new TodoModel("sleep", "Completed"), 
    new TodoModel("eat", "In progress"), 
    new TodoModel("code", "In the plan") 
]; 

Когда я добавить новый элемент в этом массиве

service.items,push(new TodoModel()); 

Список не обновляется. В чем проблема?

+0

Как элементы передаются в компонент todo-list? Не могли бы вы поделиться целым кодом 'todo-list' –

+0

. Совет. Если вы используете обратные образы вокруг вашего шаблона, вы можете создавать многострочные строки вместо конкатенирования одиночных строк. –

+0

Где у вас есть код 'service.items, push (new TodoModel());'? Откуда ему звонить? –

ответ

0

УСПЕНСКОЙ вы используете Candidate Release и не бета

Было обновление ngFor поэтому вам нужно будет изменить

*ngFor="#item of items" 

к:

*ngFor="let item of items" 

Вы должны видеть ошибку или указывая это в консоли вашего браузера, объясняя, что это изменение должно быть сделано.

+0

Итак, я получаю ИСКЛЮЧЕНИЕ: Ошибки анализа шаблона: Что мне делать? – DmitriyKhirniy

+0

Вы внесли изменения, которые я предложил в своем ответе? – Brocco

+0

Да, конечно * ngFor = "let tem of items"> ' – DmitriyKhirniy