Angular 添加'$';角形图中事件前面的美元符号?
在事件前面加上“$”美元符号会有什么影响Angular 添加'$';角形图中事件前面的美元符号?,angular,typescript,Angular,Typescript,在事件前面加上“$”美元符号会有什么影响 onModelUpdated($event: any) { console.log($event); } vs $变量名中的前缀没有任何影响。$美元符号在JavaScript(以及扩展名为TypeScript)中是作为变量名一部分使用的有效标识符,它没有语法意义。它可以用于变量/函数名的开头、中间或结尾 特别是当涉及到$event及其在AngularJS中的使用时,它更像是AngularJS时代遗留下来的惯例。在AngularJS中 这就是
onModelUpdated($event: any) {
console.log($event);
}
vs
$
变量名中的前缀没有任何影响。$
美元符号在JavaScript(以及扩展名为TypeScript)中是作为变量名一部分使用的有效标识符,它没有语法意义。它可以用于变量/函数名的开头、中间或结尾
特别是当涉及到$event
及其在AngularJS中的使用时,它更像是AngularJS时代遗留下来的惯例。在AngularJS中
这就是为什么有时会看到事件
,而有时会看到$event
有,但什么也没发生
因此,这更多的是风格和约定的问题,在调用事件处理程序时(在模板上绑定事件时),是否使用
$event
或event
将$event
作为参数,这取决于个人/项目的首选项允许您获取事件数据。这就像英语中的某种保留语。如果使用该事件(不带$
),则会出现错误
如果您的处理程序需要此数据,这就是获取访问权限的方法。非常清楚,
$event
是事件参数的名称
父指令通过绑定到此属性并通过$event
对象访问数据来侦听事件
美元符号是名称的一部分,因此必须报告为美元符号。再说一次,这不是一个你可以遵循或不遵循的约定,它是一个内部框架已经给一个对象起的名字,你必须通过它的名字来调用它,才能访问它
请注意,您必须在html模板中使用$event
,而在类中,您可以根据需要重新定义函数的参数。
示例来源:事件负载必须在html模板src/app/item output/item output.component.html中写入为$event
<app-item-output (newItemEvent)="addItem($event)"></app-item-output>
@Vega两者都是有效的,类中的$event
不会生成错误。@ulmas,对,因为我有更严格的规则activatedI在我只使用event时似乎不会出错,但我得到了“undefined”。我只是想在这里补充一下。
<app-item-output (newItemEvent)="addItem($event)"></app-item-output>
addItem(newItem: string) {
this.items.push(newItem);
}