溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Angular 2.0+ 的數(shù)據(jù)綁定的實(shí)現(xiàn)示例

發(fā)布時(shí)間:2020-09-23 07:55:13 來(lái)源:腳本之家 閱讀:108 作者:程序員長(zhǎng)春 欄目:web開(kāi)發(fā)

這兩天學(xué)習(xí)了Angular感覺(jué) 數(shù)據(jù)綁定這個(gè)地方知識(shí)點(diǎn)挺多的,而且很重要,所以,今天添加一點(diǎn)小筆記。

前言

我們使用如下的組件代碼進(jìn)行本文的所有演示

export class AppComponent {
 angularLogo = 'https://angular.io/assets/images/logos/angular/angular.svg';
 userName="David";
 newItem() {
  console.log("Hello world!");
 }
}

組件到DOM - Component to DOM

屬性綁定,單向數(shù)據(jù)綁定??梢杂邢旅嫒N不同的書(shū)寫(xiě)方式。

 ![]({{ angularLogo }})
 <img [src]="angularLogo">
 ![](angularLogo)
  1. 使用字符串插值方式。 {{ 變量名 }}
  2. 使用方挎號(hào) [] ,方挎號(hào)內(nèi)包含屬性名。
  3. 在屬性名前添加bind- 也可以達(dá)到同樣的效果。

DOM到組件 - DOM to Component

事件綁定,當(dāng)發(fā)生特定的DOM事件(例如:click,change,keyup)時(shí),調(diào)用組件中指定方法。在下面的示例中,單擊按鈕時(shí)調(diào)用該組件的newItem()方法:

<button (click)="newItem()"></button>

雙向數(shù)據(jù)綁定

使用[(ngModel)]="變量名"方式,可以實(shí)現(xiàn)雙向數(shù)據(jù)綁定。

<input type="text" [(ngModel)]="userName">
<h2>Hello {{userName}}!</h2>

從Angular 2.x版開(kāi)始,Angular中的數(shù)據(jù)綁定真的只是歸結(jié)為屬性綁定和事件綁定。 雙向數(shù)據(jù)綁定是不存在的東西。 如果沒(méi)有ngModel指令,我們?nèi)绾螌?shí)現(xiàn)雙向數(shù)據(jù)綁定?如下所示:

<input [value]="username" (input)="username = $event.target.value">
<p>Hello {{username}}!</p>

我們來(lái)看看這里面發(fā)生了什么?

  1. [value]=”username” - 綁定變量username input元素的value屬性。
  2. (input)=”username = $event.target.value” - 綁定input元素的input事件到j(luò)s代碼username = $event.target.value
  3. $event - 在Angular的事件綁定中暴露的表達(dá)式,它的值為事件的載體。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI