Angular2中select用法之設(shè)置默認(rèn)值與事件詳解
本文主要給大家介紹了Angular2中select用法之設(shè)置默認(rèn)值與事件的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面來看看詳細(xì)的介紹:
一、設(shè)置默認(rèn)值:
現(xiàn)在有三個(gè)學(xué)生小明,小紅,小黑,對(duì)雙向綁定的student設(shè)置你想要的select值就可以在下拉框默認(rèn)選中
code1:
設(shè)置”請(qǐng)選擇”為默認(rèn)項(xiàng),只需要把變量student設(shè)置為‘',即可默認(rèn)到“請(qǐng)選擇”,需要注意的是
<option value="">
請(qǐng)選擇</option>使用的是value(這是HTML原生的屬性)
<option *ngFor="let item of students" [value]='item'>{{item}}</option>
使用的是[value](在ng2中使用ngFor時(shí),value需要用ng2的語法,即[value])
let students:string[]=['xiaoming','xiaohong','xiaohei']; let student:string=''; let info:string=''; <select [(ngModel)]="student"> <option *ngFor="let item of students" [value]='item'>{{item}}</option> </select>
code2:
當(dāng)需要設(shè)置默認(rèn)值到xiaoming時(shí),只需要將變量student的初始值設(shè)為“xiaoming”
let students:string[]=['xiaoming','xiaohong','xiaohei']; let student:string='xiaoming'; let info:string=''; <select [(ngModel)]="student"> <option *ngFor="let item of students" [value]='item'>{{item}}</option> </select>
二、綁定事件
select下拉框主要通過ngModel和ngModelChange實(shí)現(xiàn)選擇事件
如果你想要在select下拉框選中某一項(xiàng)時(shí)觸發(fā)事件,可以將[(ngModel)]拆成ngModel和ngModelChange來實(shí)現(xiàn)
let students:string[]=['xiaoming','xiaohong','xiaohei']; let student:string=''; let info:string=''; setInfo(){ this.info=student; } <select [ngModel]="student" (ngModelChange)="student=$event;setInfo()"> <option value="">請(qǐng)選擇</option> <option *ngFor="let item of students" [value]='item'>{{item}}</option> </select> {{info}}
在屬性綁定中,一個(gè)值從模型中傳到屏幕上的目標(biāo)屬性。 我們通過把名字括在方括號(hào)中來標(biāo)記出目標(biāo)屬性, [] 。 這是一個(gè) 從模型到視圖 的單向數(shù)據(jù)綁定。
在事件綁定中,值從屏幕上的目標(biāo)屬性傳到模型中。 我們通過把名字括在圓括號(hào)中來標(biāo)記出目標(biāo)屬性, () 。 這是一個(gè) 從視圖到模型 的反向單向數(shù)據(jù)綁定。
在Angular2中[(x)] 的綁定目標(biāo)時(shí),會(huì)以x和xChange表示他的輸入和輸出屬性。
代碼中student=$event
原理如下ngModelChange是一個(gè) Angular EventEmitter 類型的屬性,當(dāng)它觸發(fā)時(shí),它返回的是輸入框的值
需要注意的是:目前select下拉框中不支持綁定json對(duì)象
更多關(guān)于AngularJS相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《AngularJS指令操作技巧總結(jié)》、《AngularJS入門與進(jìn)階教程》及《AngularJS MVC架構(gòu)總結(jié)》
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用Angular.js能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
angularjs ui-router中路由的二級(jí)嵌套
本篇文章主要介紹了angularjs ui-router中路由的二級(jí)嵌套,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03Angularjs中的事件廣播 —全面解析$broadcast,$emit,$on
下面小編就為大家?guī)硪黄狝ngularjs中的事件廣播 —全面解析$broadcast,$emit,$on。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過來看看吧2016-05-05angular組件間通訊的實(shí)現(xiàn)方法示例
這篇文章主要給大家介紹了關(guān)于angular組件間通訊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用angular組件具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05Angular中使用$watch監(jiān)聽object屬性值的變化(詳解)
下面小編就為大家?guī)硪黄狝ngular中使用$watch監(jiān)聽object屬性值的變化(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04AngularJS基于ngInfiniteScroll實(shí)現(xiàn)下拉滾動(dòng)加載的方法
這篇文章主要介紹了AngularJS基于ngInfiniteScroll實(shí)現(xiàn)下拉滾動(dòng)加載的方法,結(jié)合實(shí)例形式分析AngularJS下拉滾動(dòng)插件ngInfiniteScroll的下載、功能、屬性及相關(guān)使用方法,需要的朋友可以參考下2016-12-123個(gè)可以改善用戶體驗(yàn)的AngularJS指令介紹
這篇文章主要介紹了3個(gè)可以改善用戶體驗(yàn)的AngularJS指令,AngularJS是一款具有很高人氣的JavaScript框架,需要的朋友可以參考下2015-06-06angular源碼學(xué)習(xí)第一篇 setupModuleLoader方法
這篇文章主要介紹了angular源碼學(xué)習(xí)第一篇,setupModuleLoader方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10Angular-Ui-Router+ocLazyLoad動(dòng)態(tài)加載腳本示例
本篇文章主要介紹了Angular-Ui-Router+ocLazyLoad動(dòng)態(tài)加載腳本示例,可以提高加載速度,使用戶體驗(yàn)更好,有興趣的可以了解一下。2017-03-03angular.js4使用 RxJS 處理多個(gè) Http 請(qǐng)求
本篇文章主要介紹了angular.js使用 RxJS 處理多個(gè) Http 請(qǐng)求,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09