我已经创建了一个我正在使用的指令,
<input (ifValid)="save()">Save</input>
我正在尝试将其注入到构造函数中。
@Component(...)
export class Comp {
constructor(
MyCustomDirective directive
) {}
}
但是,我收到一条错误消息,告诉我指令中没有任何提供程序。
有什么想法吗?
答案 0 :(得分:0)
您对指令的使用似乎不正确。放置寄生使它成为一个事件。就像点击事件一样。指令的使用方式类似于<input ifValid>Save</input>
您收到的错误是因为Angular不知道,您创建了一个新的自定义指令,称为ifValid。因此,您必须在Ngmodule中将angular表示为:
@NgModule({
declarations: [IfValidDirective],
您可以了解有关指令here
的更多信息我相信您仅在输入是有效文本的情况下才尝试保存用户输入。我认为这里不需要指令。 您可以尝试这样的事情:
<input type="button" (click)="save()">
//in your component
save() {
// check if the input is valid or not
}