【发布时间】:2019-08-07 11:27:46
【问题描述】:
我有这个 angular2 模板:
<template *ngIf="alerts.length > 0">
<alert *ngFor="let alert of alerts;let i = index" [type]="alert.type" dismissible="true" (close)="closeAlert(i)">
{{ alert?.msg }}
</alert>
</template>
我收到以下错误:
zone.js:461 Unhandled Promise rejection: Template parse errors:
Can't have multiple template bindings on one element. Use only one attribute named 'template' or prefixed with * (" </div>
<div *ngSwitchCase="false" class="container p-t-10">
<alert *ngIf="alerts.length > 0" [ERROR ->]*ngFor="let alert of alerts;let i = index" [type]="alert.type" dismissible="true" (close)="closeAlert"): b@5:37
我把 *ngIf 和 *ngFor 放在不同的 html 元素中有什么问题。它应该工作。没有?
和:
Can't bind to 'type' since it isn't a known property of 'alert'. (""container p-t-10">
<alert *ngIf="alerts.length > 0" *ngFor="let alert of alerts;let i = index" [ERROR ->][type]="alert.type" dismissible="true" (close)="closeAlert(i)">
{{ alert?.msg }}
</alert>
"): b@5:80
我添加了
*ngIf="alerts.length > 0 避免出现alert = [] 的情况。不然怎么解决?
【问题讨论】:
-
尝试使用
attr.type而不是简单的类型
标签: javascript angular