我正在尝试创建一个基于条件创建视图的指令。就像内置的ngIf
指令一样。
这是我添加到我的项目中的所有内容:
export class QueryNameContext {
public name: string;
}
@Directive({
selector: '[action]'
})
export class QueryNameDirective {
@Input('action')
public name: string;
public constructor(private viewContainerRef: ViewContainerRef,
private templateRef: TemplateRef<QueryNameContext>) {
}
}
当我尝试在模板中使用该指令时:
<div *action="thing"></div>
我收到此依赖项错误:
core.es5.js:1020 ERROR Error: Uncaught (in promise): Error: No provider for TemplateRef!
我的模块正在导入CommonModule
,我可以在其他指令的TemplateRef
绑定中使用@ViewChild
。
我看不出我做错了什么。
答案 0 :(得分:1)
也许有人会遇到这个问题,所以我会把它留在这里。
我错误地使用了相同的选择器两个指令。重命名此修复了Uncaught (in promise): Error: No provider for TemplateRef!
错误。