Mar*_*cok 260 typescript angular2-directives ngfor angular
我究竟做错了什么?
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, [])
Run Code Online (Sandbox Code Playgroud)
错误是
EXCEPTION: Template parse errors:
Can't bind to 'ngFor' since it isn't a known native property
("<div [ERROR ->]*ngFor="talk of talks">
Run Code Online (Sandbox Code Playgroud)
Mar*_*cok 583
我let在前面错过了talk:
<div *ngFor="let talk of talks">
Run Code Online (Sandbox Code Playgroud)
需要注意的是由于beta.17的用法#...一样NgFor已被弃用声明结构指令内的局部变量.请let改用.
<div *ngFor="#talk of talks">现在变成了<div *ngFor="let talk of talks">
原始答案:
我#在前面错过了talk:
<div *ngFor="#talk of talks">
Run Code Online (Sandbox Code Playgroud)
很容易忘记这一点#.我希望Angular异常错误消息代替:
you forgot that # again.
Ale*_*mov 66
另一个导致OP错误的拼写错误可能是in:
<div *ngFor="let talk in talks">
Run Code Online (Sandbox Code Playgroud)
而不是of:
<div *ngFor="let talk of talks">
Run Code Online (Sandbox Code Playgroud)
在angular 7中,通过将以下行添加到.module.ts文件中来解决此问题:
import { CommonModule } from '@angular/common';
imports: [CommonModule]
对我而言,总而言之,我无意中将其降级为angular-beta-16。
let ...语法仅在2.0.0-beta.17 +中有效
如果在此版本以下的任何内容上尝试使用let语法。您将生成此错误。
升级到angular-beta-17或在items语法中使用#item。
| 归档时间: |
|
| 查看次数: |
135491 次 |
| 最近记录: |