Angular 2-Lista de eventos
Soy novato en Angular 2. ¿Cuáles son los eventos correspondientes de AngularJS a Angular 2?
por ejemplo: ng-click
a (clic)
¿ng-init
y todos los demás eventos? No tengo intellisense en VS. NET, así que es difícil de adivinar.
Cualquier ayuda por favor!
Gracias
5 answers
Los eventos manejados por defecto deben ser mapeados desde los eventos del componente HTML DOM original:
Http://www.w3schools.com/jsref/dom_obj_event.asp
Simplemente eliminando el prefijo on
.
onclick
---> (click)
onkeypress
---> (keypress)
Etc...
También puede crear sus eventos personalizados.
Sin embargo ngInit
no es un evento HTML, esto es parte del ciclo de vida de los componentes de Angular, y en Angular 2 se manejan usando "hooks", que son básicamente nombres de métodos específicos dentro de su componente que se llamarán cada vez que el componente ingrese al ciclo específico. Como:
Etc...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-21 16:51:14
Esta es una de las grandes ventajas de Angular2. Ya no todos los eventos necesitan una directiva ng-xxx
personalizada.
Con elementos personalizados y todas las demás bibliotecas que producen todo tipo de eventos personalizados, este enfoque no funciona.
En Angular2 la sintaxis de enlace (eventName)="expression"
permite suscribirse a cualquier evento conocido y desconocido.
La variable $event
todavía está disponible (eventName)="myEventHandler($event)"
Véase también https://angular.io/docs/ts/latest/guide/template-syntax.html#! # event-binding
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-13 16:30:00
Aquí está la lista de eventos en Angular Por favor, consulte la documentación si es necesario para obtener más información
(focus)="myMethod()"
(blur)="myMethod()"
(submit)="myMethod()"
(scroll)="myMethod()"
(cut)="myMethod()"
(copy)="myMethod()"
(paste)="myMethod()"
(keydown)="myMethod()"
(keypress)="myMethod()"
(keyup)="myMethod()"
(mouseenter)="myMethod()"
(mousedown)="myMethod()"
(mouseup)="myMethod()"
(click)="myMethod()"
(dblclick)="myMethod()"
(drag)="myMethod()"
(dragover)="myMethod()"
(drop)="myMethod()"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-22 19:29:49
Puede usar la siguiente sintaxis para manejar eventos (por ejemplo click
como ng-click
con Angular1):
<button (click)="callSomeMethodOfTheComponent()">Click</button>
La diferencia aquí es que esto es más genérico. Quiero decir que puedes usar eventos DOM directamente, pero también los personalizados definidos usando la clase EventEmitter
.
Aquí hay un ejemplo que describe cómo manejar un evento click
y un evento personalizado (my-event
) activado por un subcomponente:
@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();
}
}
Espero que te ayude, Thierry
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-21 16:15:31
Un gran lugar para empezar a entender Angular 2 es la página web oficial.
Aquí se puede ver todo el angular2 / común ng-XXX aunque ahora es como sigue ngXxxx
En mi caso la mejor manera de entender las diferencias entre Angular 1 y Angular 2 fue haciendo los tutoriales:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-21 16:42:29