前言
創(chuàng)新互聯(lián)公司主要從事網站建設、網站設計、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務太原,10年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220
DOM 元素觸發(fā)的一些事件通過 DOM 層級結構傳播,事件首先由最內層的元素開始,然后傳播到外部元素,直到它們到根元素,這種傳播過程稱為事件冒泡。本文主要介紹了關于Angular4 DOM屬性綁定的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
簡介
使用插值表達式將一個表達式的值顯示在模版上
<img src="{{imgUrl}}" alt=""> <h2>{{productTitle}}</h2>
使用方括號將HTML標簽的一個屬性值綁定到一個表達式上
<img [src]="imgUrl" alt="">
使用小括號將組件控制器的一個方法綁定到模版上面的一個事件的處理器上
<button (click)="onClickButton($event)">按鈕綁定事件</button>
注意
在開始下面的例子之前,請先確認已經新建了一個工程。如果沒有,請查看:Angular2學習筆記之Angular CLI 安裝和使用教程
事件綁定
準備工作
了解目的:在模版的界面上面增加一個按鈕,然后通過小括號綁定一個事件。
新建一個 bind 組件,使用命令: ng g c bind
修改 bind.component.html
<!-- 界面增加代碼 --> <button (click)="onClickButton($event)">按鈕綁定事件</button>
修改 bind.component.ts
//在 BindComponent 類方法中增加方法體 onClickButton(event: any){ console.log(event); }
修改 app.component.html
<!-- 增加 app-bind 組件 --> <app-bind></app-bind>
圖示:
Dom屬性綁定
例子一
插值表達式 與 屬性綁定 之間的關系
兩種方式都可以實現(xiàn),angular 在實現(xiàn)的邏輯上面是: 在程序加載組件的時候,會先將 "插值表達式" 翻譯為 "屬性綁定"
修改 bind.component.html
<!-- 界面增加代碼 --> <!-- 屬性綁定 --> <img [src]="imgUrl" alt=""> <!-- 插值表達式綁定 --> <img src="{{imgUrl}}" alt="">
修改 bind.component.ts
//增加變量 imgUrl: string = http://placehold.it/320x280;
圖示:
例子二
dom 屬性 與 html 屬性的區(qū)別
HTML元素的 DOM屬性和 HTML 屬性是有部分區(qū)別的,這點需要明確差異。
修改 bind.component.html
<!-- 增加代碼 --> <div> <input type="text" value="Tom" (input)="onInputEvent($event)"> </div>
修改 bind.component.ts
//增加 event事件 onInputEvent(event: any){ //獲取的是 dom 屬性,即輸入屬性 console.log(event.target.value); //獲取的是 html 屬性,也就是初始化的屬性 console.log(event.target.getAttribute("value")); }
圖示:
小結:
1.少量的 HTML屬性和 DOM屬性之間有這 1 :1 的映射關系,如 :id
2.有些有 HTML屬性,沒有DOM 屬性, 如:colspan
3.有些有 DOM屬性,沒有HTML 屬性,如:textContent
4.就算名字一樣,DOM屬性和HTML屬性獲取的內容可能不一樣
5.模版綁定是通過DOM屬性綁定的,而不是通過HTML屬性
6.HTML屬性指定了初始值,DOM屬性表示當前值;DOM屬性的值可以改變,HTML的值不能改變
例子部分完整代碼
bind.component.html
<p> bind works! </p> <button (click)="onClickButton($event)">按鈕綁定事件</button> <div> <!-- 屬性綁定 --> <img [src]="imgUrl" alt=""> <!-- 插值表達式綁定 --> <img src="{{imgUrl}}" alt=""> </div> <div> <input type="text" value="Tom" (input)="onInputEvent($event)"> </div>
bind.component.ts
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-bind', templateUrl: './bind.component.html', styleUrls: ['./bind.component.css'] }) export class BindComponent implements OnInit { imgUrl: string = "http://placehold.it/320x280"; constructor() { } ngOnInit() { } onClickButton(event: any){ console.log(event); } onInputEvent(event: any){ //獲取的是 dom 屬性,即輸入屬性 console.log(event.target.value); //獲取的是 html 屬性,也就是初始化的屬性 console.log(event.target.getAttribute("value")); } }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。
網站標題:Angular4學習教程之DOM屬性綁定詳解
本文鏈接:http://jinyejixie.com/article2/jopeoc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站排名、網站設計公司、企業(yè)網站制作、企業(yè)建站、標簽優(yōu)化、自適應網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)