我有点困惑$event到底在做什么,这两个例子之间的区别是什么

<button (click)="clicked($event)"></button>

@Component(...)
class MyComponent {
  clicked(event) {
    event.preventDefault();
  }
}

<button (click)="clicked()">Click</button>



 @Component(...)
    class MyComponent {
      clicked(event) {
      }
    }

推荐答案

$event是事件本身.

事件绑定(someevent)允许绑定到DOM事件和EventEmitter个事件.语法完全相同.

对于DOM events $event,它是MouseEventKeyboardEvent或您所听的任何事件类型的事件值.

对于EventEmitter个事件,发出的值为$event

假设本例$event指的是Ferrari汽车实例:

@Output() carChange:EventEmitter<Car> = new EventEmitter<Car>();

someMethod() {
  this.carChange.emit(new Car({name: 'Ferrari'}));
}

如果没有像(click)="clicked()"中那样使用$event,则不会传递事件值.

事实上,就我记忆中的is still passed in some browsers个,但不是全部(不记得是哪一个)

但是如果您使用Angulars WebWorker特性,那么如果您没有明确列出它,那么您的方法可能无法获得激发或发出的事件.

Typescript相关问答推荐

交叉点对数字和布尔的处理方式不同

TypScript ' NoInfer '类型未按预期工作

TypScript手册中的never[]参数类型是什么意思?

在映射类型中用作索引时,TypeScrip泛型类型参数无法正常工作

无法绑定ngModel.条件ngSwitchCase中的错误

TypeScrip:逐个 case Select 退出noUncheck kedIndexedAccess

错误TS2403:后续变量声明必须具有相同的类型.变量';CRYPTO';的类型必须是';CRYPATO';,但这里的类型是';CRYPATO';

以Angular 自定义快捷菜单

AngularJS服务不会解析传入的Json响应到管道中的模型

如果数组使用Reaction-Hook-Form更改,则重新呈现表单

在Mac和Windows上运行的Web应用程序出现这种对齐差异的原因是什么?(ReactNative)

是否有可能避免此泛型函数体中的类型断言?

try 使Angular依赖注入工作

递归生成常量树形 struct 的键控类型

有没有一种方法可以提升对象的泛型级别,而对象的值是泛型函数?

TypeScript中的这些条件类型映射方法之间有什么区别?

如何使用 runInInjectionContext 中的参数测试功能性路由防护

在Typescript 无法正常工作的 Three.js 中更新动画中的 GLSL 统一变量

Typescript 确保通用对象不包含属性

在对象类型的类型别名中,属性是用分号 (;) 还是逗号 (,) 分隔的?