我是角度2的新手,我使用节点npm来运行angular.Without循环工作安静好。 我收到'意外结束标签“li”(“在编译时在浏览器中'。 have tried this but not working
import {Component} from 'angular2/core';
@Component({
selector: 'test',
template: `<ul>
<li *ngFor="let carPart of carparts">
<h2>{{carPart.name}}</h2>
<h2>{{carPart.description}}</h2>
<h2>{{carPart.inStock}} in Stock</h2>
</li>
</ul>`
})
export class AppComponent {
carparts = [
{
"id": 1,
"name": "Super Tires",
"description": "These tires are the very best",
"inStock": 5
},
{
"id": 2,
"name": "Reinforced Shocks",
"description": "Shocks made from kryptonite",
"inStock": 4
}];
}
Thanks in advance
答案 0 :(得分:4)
你的问题在这里
<h2>{{carPart.name}}<h2>
应该是:
<h2>{{carPart.name}}</h2>
您还使用错误的变量名称
<li *ngFor="let carPart of carParts">
在您的班级中使用carparts
。
因为你正在使用角度测试版,它应该是
<li *ngFor="#carPart of carparts">
自beta17以来,您只能使用let
。另请参阅此处的更多信息:
声明局部变量的结构指令内部,例如 * ngFor,#...的使用已弃用。请改用let。现在变成了
答案 1 :(得分:2)
我认为你的错误在于:
<h2>{{carPart.name}}<h2>
您不小心打开了h2
- 而不是关闭它。您在结束标记中遗漏了/
。
在关闭h2
之前,您实际上需要关闭两个li
元素。
答案 2 :(得分:1)
您使用的是已弃用的angular2版本,请更新为RC4。 由于角度预编译html,如果你有任何结束标记错过也会导致错误