Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 通用指令是否隐式应用于元素?_Angular - Fatal编程技术网

Angular 通用指令是否隐式应用于元素?

Angular 通用指令是否隐式应用于元素?,angular,Angular,我是初学者,正在学习。下面是一个简单的模板: <form class="m-2" novalidate (ngSubmit)="submitForm()"> ... 然后我可以在模板中使用我的自定义事件(mySubmit)=“xxx”。 由于元素中没有使用显式指令,我猜表单元素上隐含了一个通用指令,该指令定义了ngSubmit,我的理解正确吗?某种程度上,如果通用指令是指带有选择器的指令,它不限于属性 现在,您应该知道,指令装饰器中的选择器

我是初学者,正在学习。下面是一个简单的模板:

 <form class="m-2" novalidate (ngSubmit)="submitForm()">
...
然后我可以在模板中使用我的自定义事件
(mySubmit)=“xxx”

由于元素中没有使用显式指令,我猜表单元素上隐含了一个通用指令,该指令定义了
ngSubmit
,我的理解正确吗?

某种程度上,如果通用指令是指带有选择器的指令,它不限于属性

现在,您应该知道,指令装饰器中的选择器只是一个CSS选择器,因此您可以(通过指令)在各种事情上应用特定行为-例如,以下指令:

@Directive({
  selector: 'button'
})
export class StrongClickDirective {
}
将应用于应用程序中button类型的所有元素(因此您提到的“全局”行为)-每个按钮都将获得它自己的指令实例,创建这样的指令是否是一个好的实践本身就是一个争论


现在对于
ngSubmit
-如果您查看的源代码,您可以看到选择器(除了一些例外)针对所有
form
元素:
form:not([ngNoForm]):not([formGroup]),ng form,[ngForm]

在文档中查看您可以使用的选择器类型:
@Directive({
  selector: 'button'
})
export class StrongClickDirective {
}