国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angular4學習教程之DOM屬性綁定詳解

2019-11-19 14:35:56
字體:
來源:轉載
供稿:網友

前言

DOM 元素觸發的一些事件通過 DOM 層級結構傳播,事件首先由最內層的元素開始,然后傳播到外部元素,直到它們到根元素,這種傳播過程稱為事件冒泡。本文主要介紹了關于Angular4 DOM屬性綁定的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

簡介

使用插值表達式將一個表達式的值顯示在模版上

<img src="{{imgUrl}}" alt=""><h1>{{productTitle}}</h1>

使用方括號將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屬性綁定

例子一

插值表達式 與 屬性綁定 之間的關系

兩種方式都可以實現,angular 在實現的邏輯上面是: 在程序加載組件的時候,會先將 "插值表達式" 翻譯為 "屬性綁定"

修改 bind.component.html

<!-- 界面增加代碼 --><!-- 屬性綁定 --><img [src]="imgUrl" alt=""><!-- 插值表達式綁定 --><img src="{{imgUrl}}" alt="">

修改 bind.component.ts

//增加變量imgUrl: string = http://placehold.it/320x280;

圖示:

例子二

dom 屬性 與 html 屬性的區別

HTML元素的 DOM屬性和 HTML 屬性是有部分區別的,這點需要明確差異。

修改 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")); }}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜川县| 南通市| 南投市| 鸡泽县| 资阳市| 安多县| 古蔺县| 德阳市| 光泽县| 麦盖提县| 凤城市| 三都| 苍溪县| 景东| 长汀县| 宁城县| 金寨县| 盐城市| 德清县| 百色市| 南漳县| 鹿邑县| 石门县| 蓝田县| 松桃| 西和县| 龙岩市| 邛崃市| 包头市| 大城县| 固始县| 昌黎县| 区。| 曲阳县| 安多县| 资中县| 涿州市| 平邑县| 都匀市| 阿图什市| 上饶县|