⊗jsagPmCMEDB 68 of 97 menu

Kaksisuuntainen tapahtumasidonta Angularissa

Angularissa voidaan myös tehdä kaksisuuntainen tapahtumasidonta molempien komponenttien tapahtumille: vanhemman ja lapsen. Tehdään lapsen HTML-mallissa syöttökenttä kaksisuuntaisella sidonnalla käyttäjän nimelle ja funktiolle, joka muuttaa nimeä:

<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />

Siirrytään lapsikomponenttiimme ja tuodaan siihen @Input -dekoraattori. Sitä tarvitaan syöttökenttien käsittelyyn:

import { Component, Input, Output, EventEmitter } from '@angular/core';

Seuraavaksi sidotaan dekoraattori @Input käyttäjän nimeen. Ja dekoraattori @Output sidotaan olioon userNameChange, jota kutsutaan funktiossa onNameChange:

export class UserComponent { @Input() userName: string = ''; @Output() userNameChange = new EventEmitter<string>(); onNameChange(model: string) { this.userName = model; this.userNameChange.emit(model); } }

Nyt siirrytään pääkomponenttiin ja lisätään sen luokkaan nimi-ominaisuus:

export class AppComponent { name: string = 'alex'; }

Ja vanhemman komponentin HTML-mallissa toteutetaan kaksisuuntainen sidonta ominaisuuden userName arvolla vanhemman komponentin name -ominaisuudesta:

<user-data [(userName)]="name"></user-data> <p>You choose name: {{ name }}</p>

Toteuta kaksisuuntainen tapahtumasidonta vanhemman ja lapsikomponenttien tapahtumille oppitunnin esimerkin mukaisesti.

Edellisen tehtävän pohjalta tee kaksisuuntainen sidonta käyttäjän iälle.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää