我有角度2的以下错误:
EXCEPTION: Template parse errors:
Parser Error: Unexpected token . at column 26 in [ngFor let button of modal.buttons] in ModalComponent@11:22 ("">
<button type="button" class="btn" data-dismiss="modal"
[ERROR ->]*ngFor="let button of modal.buttons"
[ngClass]="button.classes"
"): ModalComponent@11:22
这是我的代码:
import {Component} from 'angular2/core';
import {NgFor, NgClass} from 'angular2/common';
import {EventService} from '../services/event.service';
interface Button {
text: string;
classes: Array<string>;
clicked: Function;
}
interface Modal {
title: string;
text: string;
buttons: Array<Button>;
}
@Component({
selector: 'modal',
template: `<div *ngIf="modal" class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">{{modal.title}}</h4>
</div>
<div class="modal-body" [innerHTML]="modal.text"></div>
<div class="modal-footer">
<button type="button" class="btn" data-dismiss="modal"
*ngFor="let button of modal.buttons"
[ngClass]="button.classes"
>{{button.text}}</button>
</div>
</div>
</div>`,
directives: [NgFor, NgClass]
})
export class ModalComponent {
modalElement: HTMLElement;
modal: Modal = [...];
[...]
}
我尝试生成一个模态组件,没有按钮就可以正常工作。 为什么这是错的?为什么cant角度迭代对象子数组? 我正在寻找几个小时,请帮忙
答案 0 :(得分:6)
在* ngFor的angular2.rc1语法中,从*ngFor="#item in items"
更改为*ngFor="let item in items"
;
您使用的是新语法,但旧版本的angular2。我认为它基于你的导入(你引用'angular2 / ...',而不是'@angular /...')。
尝试使用旧语法或更新为新版本的角色。
答案 1 :(得分:2)
上述答案对于* ngFor是正确的,但&#34;模板&#34;标签的格式略有不同。
在RC0和RC1之前:
<template ngFor #team [ngForOf]="teams">
在RCx之后:
<template ngFor let-team [ngForOf]="teams">
团队是&#34; for&#34;变量通过团队迭代。 #仍在使用!如果要访问html组件:
<input #numberInput step="0.1" type="number">
注意这里没有任何改变。思考这个的方法是; &#39;让&#39;用于数据变量; &#39;#&#39;用于访问html组件。
如需进一步更改详情,请先咨询: https://github.com/angular/angular/blob/master/CHANGELOG.md
答案 2 :(得分:0)
* ngFor =“让项目中的项目”;
尝试这样仍然不起作用请确保
从'@ angular / common'导入{CommonModule};
注入module.ts或不注入,这也是meas
确保拼写和
的所有给定元素都正确存在相应的关闭标签