前言
我們使用如下的組件代碼進(jìn)行文本的所有演示
export class AppComent{
angularLogo = 'https://angular.io/assets/images/logos/angular/angular.svg';
userName='David';
netItem(){
console.log("Hello world!");
}
}
組件到DOM-Component to DOM
屬性綁定,單向數(shù)據(jù)綁定,可以有下面三種不同的書寫方式
![]({{angular Logo}})
<img [src]="angular Logo">
![](angular Logo)
1.使用字符串插值方式。{{變量名}}
2.使用方括號(hào)[ ],方括號(hào)內(nèi)包含屬性名以舒。
3.在屬性名添加bind- 也可以達(dá)到同樣的效果。
DOM到組件-DOM to Component
事件綁定,當(dāng)發(fā)生特定的DOM事件(例如:click辑畦,change,keyup)腿倚,調(diào)用組件中指定方法纯出。在下面的示例中,單機(jī)按鈕時(shí)調(diào)用該組件的newItem()方法敷燎;
<button (click)="newItem()"></button>
雙向數(shù)據(jù)綁定
使用[(ngModel)]="變量名"方式暂筝,可以實(shí)現(xiàn)雙向數(shù)據(jù)綁定
<input type="text" [(ngModel)]="userName">
<h1 Hello {{userName!}}></h1>
從Angular 2.x開始,Angular中的數(shù)據(jù)綁定真的只是歸結(jié)為屬性綁定和事件綁定硬贯。雙向綁定是不存在的東西焕襟。如果沒有ngModel指令,我們?nèi)绾螌?shí)現(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á)式务漩,它的值為事件的載體