Angular 角度2;在Typescript中而不是在HTML中使用ViewChild将方法分配给EventEmitter?
在Angular 2中,如何使用Typescript中的ViewChild将EventEmitter分配给其方法处理程序 使用HTML处理来自EventEmitter的事件: my.component.htmlAngular 角度2;在Typescript中而不是在HTML中使用ViewChild将方法分配给EventEmitter?,angular,Angular,在Angular 2中,如何使用Typescript中的ViewChild将EventEmitter分配给其方法处理程序 使用HTML处理来自EventEmitter的事件: my.component.html <some-component [someProperty]="myProperty" (onSomeEvent)="myMethod($event)></some-component> <some-component #someComponent>
<some-component [someProperty]="myProperty" (onSomeEvent)="myMethod($event)></some-component>
<some-component #someComponent></some-component>
我希望如何处理事件(在Typescript中):
my.component.html
<some-component [someProperty]="myProperty" (onSomeEvent)="myMethod($event)></some-component>
<some-component #someComponent></some-component>
my.component.ts
export class MyComponent {
public myProperty: string;
...
public myMethod(event: any) {
... //handle event
}
...
}
export class MyComponent {
@ViewChild('someComponent') someComponent: SomeComponent;
ngOnInit() {
this.someComponent.someProperty = myProperty;
this.someComponent.onSomeEvent = ? <-- How do I assign EventEmitter?
}
public myProperty: string;
...
public myMethod(event: any) {
... //handle event
}
...
}
导出类MyComponent{
@ViewChild('someComponent')someComponent:someComponent;
恩戈尼尼特(){
this.someComponent.someProperty=myProperty;
this.someComponent.onSomeEvent=?一个月后,当我再次遇到这个问题时,我发现了这个问题,并在搜索中意外地发现了我自己的问题
因为Angular的EventEmitter利用了可观察的对象,所以在幕后他们只是订阅了可观察的对象。如果你想在组件类型脚本中分配处理程序,你也可以这样做
根据我上面的例子:
export class MyComponent {
@ViewChild('someComponent') someComponent: SomeComponent;
ngOnInit() {
this.someComponent.someProperty = myProperty;
this.someComponent.onSomeEvent.subscribe(event => this.myMethod(event));
}
public myProperty: string;
...
public myMethod(event: any) {
... //handle event
}
...
}
一个月后,当我再次遇到这个问题时,我发现了这个问题,并在搜索中意外地发现了我自己的问题
因为Angular的EventEmitter利用了可观察的对象,所以在幕后他们只是订阅了可观察的对象。如果你想在组件类型脚本中分配处理程序,你也可以这样做
根据我上面的例子:
export class MyComponent {
@ViewChild('someComponent') someComponent: SomeComponent;
ngOnInit() {
this.someComponent.someProperty = myProperty;
this.someComponent.onSomeEvent.subscribe(event => this.myMethod(event));
}
public myProperty: string;
...
public myMethod(event: any) {
... //handle event
}
...
}
感谢这一点,现在我看到了在HTML或Typescript上发射的区别。感谢这一点,现在我看到了在HTML或Typescript上发射的区别。