Что я делаю не так?
import {bootstrap, Component} from 'angular2/angular2'
@Component({
selector: 'conf-talks',
template: `<div *ngFor="talk of talks">
{{talk.title}} by {{talk.speaker}}
<p>{{talk.description}}
</div>`
})
class ConfTalks {
talks = [ {title: 't1', speaker: 'Brian', description: 'talk 1'},
{title: 't2', speaker: 'Julie', description: 'talk 2'}];
}
@Component({
selector: 'my-app',
directives: [ConfTalks],
template: '<conf-talks></conf-talks>'
})
class App {}
bootstrap(App, [])
Ошибка
EXCEPTION: Template parse errors:
Can't bind to 'ngFor' since it isn't a known native property
("<div [ERROR ->]*ngFor="talk of talks">
angular
typescript
angular2-directives
ngfor
Марк Райкок
источник
источник
#
) используется для объявления локальной переменной шаблонаДругая опечатка, приводящая к ошибке OP, могла бы использовать
in
:Вы должны использовать
of
вместо:источник
Это заявление используется в бета-версии Angular2 .....
Здесь и далее используйте let вместо #
ключевое слово let используется для объявления локальной переменной
источник
В моем случае это была маленькая буква
f
. Я делюсь этим ответом только потому, что это первый результат в Googleне забудьте написать
*ngFor
источник
В angular 7 это исправлено путем добавления этих строк в
.module.ts
файл:import { CommonModule } from '@angular/common'; imports: [CommonModule]
источник
Вы должны использовать ключевое слово let для объявления локальных переменных, например * ngFor = "let talk of talk"
источник
Короче говоря, я случайно понизился до angular-beta-16.
Синтаксис let ... действует ТОЛЬКО в 2.0.0-beta.17 +
Если вы попробуете использовать синтаксис let для чего-либо ниже этой версии. Вы сгенерируете эту ошибку.
Либо обновите до angular-beta-17, либо используйте синтаксис #item в items.
источник
В моем случае я допустил ошибку копирования
*ng-for=
из документов.https://angular.io/guide/user-input
Поправь меня, если я ошибаюсь. Но, похоже
*ng-for=
, был изменен на*ngFor=
источник
Я забыл аннотировать свой компонент с помощью @Input " (Doh!)
book-list.component.html (код обидования ):
Исправленная версия book-item.component.ts :
источник
Также не пытайтесь использовать чистый TypeScript в этом ... Я хотел больше соответствовать
for
использованию и использованию*ngFor="const filter of filters"
и получил ngFor не известную ошибку свойства. Просто замена const на let работает.Как сказал @ alexander-abakumov,
of
заменили наin
.источник
В моем случае модуль, содержащий компонент, использующий * ngFor, приводящий к этой ошибке, не был включен в app.module.ts. Включение его в массив импорта решило проблему для меня.
источник
Просто , чтобы покрыть еще один случай , когда я получаю ту же ошибку , и причина была использованием в вместо из в итератора
Неправильный способ
let file in files
Правильный путь
let file of files
источник
Использовать это
Вам нужно указать переменную для перебора массива объекта
источник