Angular 2-Liste des événements

<!-Je suis nouveau à Angular 2. Quels sont les événements correspondants de AngularJS à Angular 2? par exemple: ng-click (cliquez sur)

Que Diriez-vous de ng-init et tous les autres événements? Je n'ai pas d'intellisense dans VS. net, donc c'est difficile à deviner.

de l'aide s'il vous plaît!

Merci

31
demandé sur Pete 2016-01-21 19:00:40

5 réponses

les événements manipulés par défaut doivent être mappés à partir des événements du composant original HTML DOM:

http://www.w3schools.com/jsref/dom_obj_event.asp

en enlevant simplement le on préfixe.

onclick - - -> (click)

onkeypress - - -> (keypress)

etc...

vous pouvez également créer vos événements personnalisés.

Toutefois ngInit n'est pas un événement HTML, il fait partie du composant de L'Angular cycle de vie, et dans L'angle 2 ils sont manipulés en utilisant des "crochets", qui sont essentiellement des noms de méthode spécifiques à l'intérieur de votre composant qui seront appelés chaque fois que le composant entre dans le cycle spécifique. Comme:

ngOnInit

ngOnDestroy

etc...

54
répondu Langley 2016-01-21 16:51:14

C'est l'un des grands avantages de L'Angular2. Pas tous les besoins d'événement personnalisé ng-xxx directive plus.

Avec des éléments personnalisés et toutes les autres bibliothèques produisant toutes sortes d'événements personnalisés, cette approche ne fonctionne pas.

en Angular2 le (eventName)="expression" la syntaxe de liaison permet de s'abonner à n'importe quel événement connu et inconnu.

$event variable est toujours disponible (eventName)="myEventHandler($event)"

Voir aussi https://angular.io/docs/ts/latest/guide/template-syntax.html#!#event-binding

5
répondu Günter Zöchbauer 2017-01-13 16:30:00

Voici la liste des événements dans Angulaire S'il vous plaît vérifier la documentation si nécessaire pour plus d'informations

(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()"
3
répondu Alok Panday 2018-05-22 19:29:49

Vous pouvez utiliser la syntaxe suivante pour gérer les événements (par exemple,clickng-click avec Angular1):

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

La différence ici est que c'est plus générique. Je veux dire que vous pouvez utiliser des évènements DOM directement mais aussi des évènements personnalisés définis en utilisant le EventEmitter classe.

Voici un exemple qui explique comment gérer un click événement et un événement personnalisé (my-event) déclenché par un sous-élément:

@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();
  }
}

J'espère que cela vous aidera, Thierry

1
répondu Thierry Templier 2016-01-21 16:15:31

un excellent endroit pour commencer à comprendre Angular 2 est la Page Web officielle.

Ici vous pouvez voir tous les angular2 / commun ng-XXX bien que maintenant, il est comme suit ngXxxx

enter image description here

dans mon cas, la meilleure façon de comprendre les différences entre Angular 1 et Angular 2 était de faire les tutoriels:

1
répondu Jorge Casariego 2016-01-21 16:42:29