最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Angular數(shù)據(jù)綁定及其實現(xiàn)方式

 更新時間:2021年05月17日 10:21:08   作者:華為云開發(fā)者社區(qū)  
數(shù)據(jù)綁定是將應(yīng)用程序UI或用戶界面綁定到模型的機(jī)制。使用數(shù)據(jù)綁定,用戶將能夠使用瀏覽器來操縱網(wǎng)站上存在的元素。

前言

Web開發(fā)需要模型和視圖之間的數(shù)據(jù)同步。這些模型基本上包含數(shù)據(jù)值,而視圖則處理用戶看到的內(nèi)容。因此,如果您想知道這在Angular中是如何發(fā)生的,這篇有關(guān)Angular數(shù)據(jù)綁定的文章將為您提供幫助。

下面提到的是此處討論的主題:

  • What is Data Binding?
  • Types of Data Binding in Angular
  • One-way Data Binding Interpolation Property Binding Event Binding
  • Two-way Data Binding

什么是數(shù)據(jù)綁定?

數(shù)據(jù)綁定是將應(yīng)用程序UI或用戶界面綁定到模型的機(jī)制。使用數(shù)據(jù)綁定,用戶將能夠使用瀏覽器來操縱網(wǎng)站上存在的元素。因此,無論何時更改了某些變量,該特定更改都必須反映在文檔對象模型或DOM中。

在Angular中,數(shù)據(jù)綁定定義了組件與DOM之間的交互。從AngularJS一直到最新的Angular 9版本,數(shù)據(jù)綁定是所有Angular版本的一部分。

Angular中的數(shù)據(jù)綁定類型

Angular允許單向和雙向數(shù)據(jù)綁定。單向數(shù)據(jù)綁定是一種簡單的數(shù)據(jù)綁定類型,您可以在其中通過模型來操縱視圖。這意味著,對Typescript代碼進(jìn)行的更改將反映在相應(yīng)的HTML中。在Angular中,單向數(shù)據(jù)綁定是通過以下方式實現(xiàn)的:

  • Interpolation or String Interpolation
  • Property binding
  • Event binding

另一方面,雙向數(shù)據(jù)綁定允許以如下方式同步數(shù)據(jù):可以使用模型更新視圖,而可以使用視圖更新模型。這意味著您的應(yīng)用程序?qū)⒛軌蛟诮M件類及其模板之間共享信息。

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

在單向數(shù)據(jù)綁定中,數(shù)據(jù)僅沿一個方向流動,即從模型流向視圖。如前所述,Angular中的單向數(shù)據(jù)綁定可以為三種類型,即插值,屬性綁定和事件綁定。

Interpolation Binding

插值綁定用于從TypeScript代碼(即從組件到視圖)返回HTML輸出。在此,模板表達(dá)式在雙花括號內(nèi)指定。通過插值,可以將字符串添加到HTML元素標(biāo)簽之間以及屬性分配內(nèi)的文本中。這些字符串是使用Template表達(dá)式計算的。

例子:

<h1>{{title}}</h1>
 
Learn <b> {{course}}
</b> with Edureka.
 
2 * 2 = {{2 * 2}}
 
<div><img src="{{image}}"></div>

此代碼的Typescript部分如下:

export class AppComponent {
  title = 'Databinding';
  course ='Angular';
  image = 'paste the url here'
}

輸出:

component屬性在兩個花括號之間指定。Angular將用與該組件屬性關(guān)聯(lián)的字符串值替換該組件屬性。根據(jù)需要可以在不同的地方使用。角度將插值轉(zhuǎn)換為屬性綁定。

Angular還允許您配置插值定界符,并使用您選擇的內(nèi)容代替兩個花括號??梢允褂媒M件元數(shù)據(jù)中的插值選項來完成此操作。

模板表達(dá)式

模板表達(dá)式位于兩個大括號內(nèi),并且它們產(chǎn)生一個值。Angular將執(zhí)行該表達(dá)式,然后將特定的表達(dá)式分配給綁定目標(biāo)的屬性,例如HTML元素,組件或指令。

注意:插值括號之間的2 * 2是模板表達(dá)式。

屬性綁定

在“屬性綁定”中,值從組件的屬性流入目標(biāo)元素的屬性。因此,屬性綁定不能用于從目標(biāo)元素讀取或提取數(shù)據(jù)或調(diào)用屬于目標(biāo)元素的方法。元素引發(fā)的事件可以通過事件綁定進(jìn)行確認(rèn),事件綁定將在本文稍后介紹。

通常,可以說將使用屬性綁定將組件屬性值設(shè)置為元素屬性。

例子:

<h1>Property binding</h1>
<div><img [src]="image"></div>

在上面的示例中,圖像元素的src屬性綁定到組件的圖像屬性。

Property binding and Interpolation

如果您已經(jīng)注意到,可以看到插值和屬性綁定可以互換使用??匆幌孪旅娼o出的示例對:

<h2>Interpolation</h2>
 
<div><img src="{{image}}"></div>
 
<h2>Property binding</h2>
 
<div><img [src]="image"></div>

請注意,當(dāng)需要將元素屬性設(shè)置為非字符串?dāng)?shù)據(jù)值時,必須使用屬性綁定而不是Interpolation。

事件綁定

使用事件綁定功能,您可以偵聽某些事件,例如鼠標(biāo)移動,按鍵,點擊等。在Angular中,可以通過在等號(=)左側(cè)的常規(guī)方括號內(nèi)指定目標(biāo)事件名稱來實現(xiàn)事件綁定,以及右引號(“”)內(nèi)的模板語句。

例子:

<div>
  <button (click)="goBack()">Go back</button>
</div>

上例中的“ click ”是目標(biāo)事件的名稱,“ goBack()”是模板的語句。

輸出:

每當(dāng)發(fā)生事件綁定時,Angular都會為目標(biāo)事件設(shè)置事件處理程序。當(dāng)該特定事件引發(fā)時,模板語句由處理程序執(zhí)行。通常,接收者會涉及執(zhí)行響應(yīng)事件的操作的模板語句。在這里,binding用于傳達(dá)有關(guān)事件的信息。信息的這些數(shù)據(jù)值包括事件字符串,對象等。

Two-way Binding

Angular允許雙向數(shù)據(jù)綁定,這將允許您的應(yīng)用程序在兩個方向上共享數(shù)據(jù),即從組件到模板,反之亦然。這樣可以確保應(yīng)用程序中存在的模型和視圖始終保持同步。雙向數(shù)據(jù)綁定將執(zhí)行兩件事,即元素屬性的設(shè)置和偵聽元素更改事件。

雙向綁定的語法為– [()}。如您所見,它是屬性綁定語法(即[]和事件綁定語法())的組合。根據(jù)Angular的說法,此語法類似于“盒子里的香蕉”。

例子:

<label ><b>Name:</b>
        <input [(ngModel)]="course.name" placeholder="name"/>
</label>

執(zhí)行此代碼時,您將看到對模型或視圖的更改將導(dǎo)致對相應(yīng)視圖和模型的更改??匆幌孪旅娴膱D片,該圖片從視圖中將課程名稱從“ Python”更改為“ Pytho”:

以上就是詳解Angular數(shù)據(jù)綁定及其實現(xiàn)方式的詳細(xì)內(nèi)容,更多關(guān)于Angular數(shù)據(jù)綁定及其實現(xiàn)方式的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 利用angular.copy取消變量的雙向綁定與解析

    利用angular.copy取消變量的雙向綁定與解析

    眾所周知AngularJS的雙向綁定在表單應(yīng)用中強(qiáng)大又方便,但是偶爾會遇到需要解除對象變量的雙向綁定。Angular提供的angular.copy的方法可以實現(xiàn)解除雙向綁定。所以這篇文章就來給大家詳細(xì)的介紹下angular.copy,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • highcharts 在angular中的使用示例代碼

    highcharts 在angular中的使用示例代碼

    本篇文章主要介紹了highcharts 在angular中的使用示例代碼,非常具有實用價值,需要的朋友可以參考下
    2017-09-09
  • 微信小程序?qū)崿F(xiàn)左右聯(lián)動的實戰(zhàn)記錄

    微信小程序?qū)崿F(xiàn)左右聯(lián)動的實戰(zhàn)記錄

    聯(lián)動菜單是大家在開發(fā)小程序經(jīng)常會遇到的一個功能,下面這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)左右聯(lián)動的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Angularjs上傳文件組件flowjs功能

    Angularjs上傳文件組件flowjs功能

    現(xiàn)在的項目,無論代銷,幾乎不會缺省的一個功能就是上傳下載功能,今天談一談使用AngularJS+bootsrtap下的上傳下載功能,需要的朋友參考下吧
    2017-08-08
  • 淺談angularjs $http提交數(shù)據(jù)探索

    淺談angularjs $http提交數(shù)據(jù)探索

    這篇文章主要介紹了淺談angularjs $http提交數(shù)據(jù)探索,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-01-01
  • AngularJS入門教程之過濾器詳解

    AngularJS入門教程之過濾器詳解

    本文主要講解AngularJS 過濾器,這里整理了過濾器的相關(guān)資料并附示例代碼,幫助大家學(xué)習(xí)AngularJS的知識,有需要的小伙伴可以參考下
    2016-08-08
  • 詳解Angular 4.x 動態(tài)創(chuàng)建組件

    詳解Angular 4.x 動態(tài)創(chuàng)建組件

    本篇文章主要介紹了詳解Angular 4.x 動態(tài)創(chuàng)建組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • angular4 獲取wifi列表中文顯示亂碼問題的解決

    angular4 獲取wifi列表中文顯示亂碼問題的解決

    這篇文章主要介紹了angular4 獲取wifi列表中文顯示亂碼問題的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • angularjs性能優(yōu)化的方法

    angularjs性能優(yōu)化的方法

    這篇文章主要介紹了angularjs性能優(yōu)化的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • angular4應(yīng)用中輸入的最小值和最大值的方法

    angular4應(yīng)用中輸入的最小值和最大值的方法

    這篇文章主要介紹了angular4應(yīng)用中輸入的最小值和最大值的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05

最新評論

元阳县| 锦州市| 卢湾区| 巴中市| 昌黎县| 道孚县| 松潘县| 板桥市| 肇东市| 英吉沙县| 辛集市| 郑州市| 廉江市| 南投市| 郧西县| 女性| 乐亭县| 丘北县| 罗平县| 仙桃市| 阿拉善盟| 裕民县| 馆陶县| 廉江市| 格尔木市| 延安市| 沅陵县| 六安市| 精河县| 五家渠市| 虎林市| 德格县| 古浪县| 公安县| 利川市| 麻城市| 大英县| 开阳县| 巩义市| 宿松县| 东乡县|