没有 NgModel 的提供者!在创建结构指令时
No provider for NgModel! while creating Structural directive
我创建了一个结构指令。这是 class.
的构造函数
constructor(private templateRef: TemplateRef<any>, private viewContainer: ViewContainerRef, public query: NgModel) {
console.log(this.query)
}
如果我删除 public query:NgModel
,它会正常工作。如果我添加它,它会抛出错误。
Error: Uncaught (in promise): No provider for NgModel! (ControlMeta -> NgModel)
这里有什么错误?
我对普通指令做了同样的事情,它工作正常。
您必须将 NgModel
指定为 provider
:
@Directive({
selector: '...',
providers: [NgModel],
...
})
我创建了一个结构指令。这是 class.
的构造函数constructor(private templateRef: TemplateRef<any>, private viewContainer: ViewContainerRef, public query: NgModel) {
console.log(this.query)
}
如果我删除 public query:NgModel
,它会正常工作。如果我添加它,它会抛出错误。
Error: Uncaught (in promise): No provider for NgModel! (ControlMeta -> NgModel)
这里有什么错误?
我对普通指令做了同样的事情,它工作正常。
您必须将 NgModel
指定为 provider
:
@Directive({
selector: '...',
providers: [NgModel],
...
})