【发布时间】:2017-10-31 18:15:37
【问题描述】:
我想添加自定义,除非 directive 与 *ngIf 相反。
这是我的代码:
import { Directive, TemplateRef, ViewContainerRef, Input } from '@angular/core';
@Directive({
selector: '[dirUnless]'
})
export class UnlessDirective {
@Input() set unless(condition: boolean) {
if (!condition) {
this.vcRef.createEmbeddedView(this.templateRef);
} else {
this.vcRef.clear();
}
}
constructor(private templateRef: TemplateRef<any>, private vcRef: ViewContainerRef) {}
}
我还添加了下一个html:
<div *ngIf="switch"> Conditional Text IF</div>
<div *dirUnless="switch">Conditional Text UNLESS</div>
所以当我单击switch 时,显然应该只显示一个div。
但我有下一个错误:
未处理的 Promise 拒绝:模板解析错误:无法绑定到 'dirUnless' 因为它不是 'div' 的已知属性。 ("
【问题讨论】:
-
*ngIf="!switch"呢?显然,这不是您的问题的答案,更多的是好奇。
标签: angular angular2-directives