Można użyć następującej składni do obsługi zdarzeń (np click
jak ng-click
z Angular1):
<button (click)="callSomeMethodOfTheComponent()">Click</button>
Różnica polega na tym, że jest to bardziej ogólne. Chodzi o to, że możesz używać zdarzeń DOM bezpośrednio, ale także niestandardowych zdefiniowanych przy użyciu klasy EventEmitter
.
Oto przykład, który opisuje jak radzić sobie click
zdarzenia i zdarzenia niestandardowego (my-event
) sygnalizował składnik dodatkowy:
@Component({
selector: 'my-selector',
template: `
<div>
<button (click)="callSomeMethodOfTheComponent()">Click</button>
<sub-component (my-event)="callSomeMethodOfTheComponent()"></sub-component>
</div>
`,
directives: [SubComponent]
})
export class MyComponent {
callSomeMethodOfTheComponent() {
console.log('callSomeMethodOfTheComponent called');
}
}
@Component({
selector: 'sub-component',
template: `
<div>
<button (click)="myEvent.emit()">Click (from sub component)</button>
</div>
`
})
export class SubComponent {
@Output()
myEvent: EventEmitter;
constructor() {
this.myEvent = new EventEmitter();
}
}
nadzieję, że to pomaga, Thierry
"Domyślne obsługiwane zdarzenia powinny być odwzorowane z wydarzeniami oryginalnego DOM HTML komponentu" <- Czy możesz przytoczyć źródło, lub dostarczyć lista dostępnych wydarzeń? Nie mogłem znaleźć żadnej oficjalnej listy wydarzeń w Angular 2. – jdebon
Oto [bardziej kompletna] (http://www.w3fools.com/) lista [zdarzeń DOM] (https://developer.mozilla.org/en-US/docs/Web/Events). – cvsguimaraes
Oto kolejne miejsce do chekc https://developer.mozilla.org/en-US/docs/Web/Events – Belter