Angular 2.0+ 的數(shù)據(jù)綁定的實現(xiàn)示例
這兩天學(xué)習(xí)了Angular感覺 數(shù)據(jù)綁定這個地方知識點挺多的,而且很重要,所以,今天添加一點小筆記。
前言
我們使用如下的組件代碼進(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ù)綁定。可以有下面三種不同的書寫方式。
 <img [src]="angularLogo"> 
- 使用字符串插值方式。
{{ 變量名 }}
- 使用方挎號
[]
,方挎號內(nèi)包含屬性名。 - 在屬性名前添加
bind-
也可以達(dá)到同樣的效果。
DOM到組件 - DOM to Component
事件綁定,當(dāng)發(fā)生特定的DOM事件(例如:click,change,keyup)時,調(diào)用組件中指定方法。在下面的示例中,單擊按鈕時調(diào)用該組件的newItem()方法:
<button (click)="newItem()"></button>
雙向數(shù)據(jù)綁定
使用[(ngModel)]="變量名"
方式,可以實現(xiàn)雙向數(shù)據(jù)綁定。
<input type="text" [(ngModel)]="userName"> <h1>Hello {{userName}}!</h1>
從Angular 2.x版開始,Angular中的數(shù)據(jù)綁定真的只是歸結(jié)為屬性綁定和事件綁定。 雙向數(shù)據(jù)綁定是不存在的東西。 如果沒有ngModel指令,我們?nèi)绾螌崿F(xiàn)雙向數(shù)據(jù)綁定?如下所示:
<input [value]="username" (input)="username = $event.target.value"> <p>Hello {{username}}!</p>
我們來看看這里面發(fā)生了什么?
- [value]=”username” - 綁定變量
username
到input
元素的value屬性。 - (input)=”username = $event.target.value” - 綁定
input
元素的input
事件到j(luò)s代碼username = $event.target.value
- $event - 在Angular的事件綁定中暴露的表達(dá)式,它的值為事件的載體。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
angularjs實現(xiàn)上拉加載和下拉刷新數(shù)據(jù)功能
本篇文章主要介紹了angularjs實現(xiàn)上拉加載和下拉刷新數(shù)據(jù)功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06