欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ng-options和ng-checked在表單中的高級(jí)運(yùn)用(推薦)

 更新時(shí)間:2017年01月21日 14:38:28   投稿:mrr  
AngularJS是當(dāng)前非常的流行的前端框架,它的語(yǔ)法糖非常多,也極大的方便了前端開(kāi)發(fā)者。這篇文章主要介紹了ng-options和ng-checked在表單中的高級(jí)運(yùn)用,需要的朋友可以參考下

AngularJS是當(dāng)前非常的流行的前端框架,它的語(yǔ)法糖非常多,也極大的方便了前端開(kāi)發(fā)者,但是有著用法還是需要去琢磨一下的。

ng-options

在select表單控件中,總結(jié)一下目前的幾種寫(xiě)法。

普通寫(xiě)法

<select>
  <option value="test1">test1</option>
  <option value="test1">test1</option>
  <option value="test1">test1</option>
  <option value="test1">test1</option>
</select>

優(yōu)點(diǎn):簡(jiǎn)單

缺點(diǎn):

  • 代碼很不簡(jiǎn)潔,如果選項(xiàng)較多就會(huì)很亂
  • 不方便渲染,如果option在變需要使用js動(dòng)態(tài)加載
  • 不方便存儲(chǔ)對(duì)象

使用ng-repeat

ng-repeat是angularJS中非常強(qiáng)大的一個(gè)directive,在渲染列表上極大的方便了前端開(kāi)發(fā)者,那么由于有多個(gè)重復(fù)的option,當(dāng)然可以使用ng-repeat,用法如下:

<select>
  <option ng-repeat="option in options" value="{{option}}">{{option.name}}</option>
</select>
<script>
  $scope.options = [{id:1,name:'test1'},{id:2,name:'test2'},{id:3,name:'test3'}];
</scirpt>

優(yōu)點(diǎn):

  • 代碼簡(jiǎn)介
  • 可存儲(chǔ)對(duì)象,取值方便

缺點(diǎn):

  • 沒(méi)有默認(rèn)顯示!,在有些界面需求中,select可能是需要placeholder一樣的顯示提示效果的,那么使用這個(gè)方式顯示效果默認(rèn)是空白
  • 無(wú)法通過(guò)ng-model來(lái)獲取當(dāng)前選擇的值

使用ng-options

這里使用一個(gè)年級(jí)、班級(jí)的選項(xiàng)來(lái)作為例子:即選擇年級(jí)之后再顯示對(duì)應(yīng)的可選班級(jí)。

<select ng-model="modal.grade" ng-change="modalChangeGrade()" ng-options="grade.gradeText for grade in modal.grades">
  <option value="" disabled>請(qǐng)選擇</option>
</select>
<script>
  $scope.modal.grades = [
  {id:1,gradeText:'初一',classes:[]},
  {id:2,gradeText:'初二',classes:[]},
  {id:3,gradeText:'高一'},classes:[]];
  $scope.modalChangeGrade = function(){
    //班級(jí)的HTML片段就不在這里寫(xiě)了
    $scope.modal.classes = $scope.modal.grade.classes;
  }
</scirpt>

注:

“請(qǐng)選擇"的option需要有value,不然會(huì)報(bào)錯(cuò)

如果要設(shè)置默認(rèn)選擇值,比如一開(kāi)始就選擇"高一",則需要設(shè)置modal在數(shù)組里的對(duì)象。

$scope.modal.grade = $scope.modal.grades[2];//高一在數(shù)組的位置角標(biāo)為2

優(yōu)點(diǎn):

  • 代碼簡(jiǎn)潔,易于維護(hù)
  • 有默認(rèn)顯示
  • 可以使用ng-modal準(zhǔn)確獲取當(dāng)前選擇的對(duì)象

ng-checked

checkbox和radio是我們經(jīng)常使用到的表單組件,那么如何使用angularJs簡(jiǎn)潔方便的獲取當(dāng)前已選擇對(duì)象呢?

這里只說(shuō)angularJs的用法:

下面依然以年級(jí)和班級(jí)為例:

<div ng-repeat="class in grade.classes" ng-click="class.is_checked=!class.is_checked">
  <input type="checkbox" value="" ng-checked="class.is_checked">
  {{class.id+'班'}}
</div>

最后需要查看有哪些checkbox被選中時(shí),只需要遍歷$scope.grade.classes數(shù)組查看有哪些對(duì)象的is_checked屬性為true即可。

radio的用法同理。

以上所述是小編給大家介紹的ng-options和ng-checked在表單中的高級(jí)運(yùn)用,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • ES6 如何改變JS內(nèi)置行為的代理與反射

    ES6 如何改變JS內(nèi)置行為的代理與反射

    這篇文章主要介紹了ES6 如何改變JS內(nèi)置行為的代理與反射,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • Bootstrap學(xué)習(xí)筆記之js組件(4)

    Bootstrap學(xué)習(xí)筆記之js組件(4)

    這篇文章主要為大家詳細(xì)介紹了Bootstrap學(xué)習(xí)筆記之js組件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • js判斷鼠標(biāo)左、中、右鍵哪個(gè)被點(diǎn)擊的方法

    js判斷鼠標(biāo)左、中、右鍵哪個(gè)被點(diǎn)擊的方法

    這篇文章主要介紹了js判斷鼠標(biāo)左、中、右鍵哪個(gè)被點(diǎn)擊的方法,主要通過(guò)event.button事件來(lái)判斷鼠標(biāo)點(diǎn)擊的類型,需要的朋友可以參考下
    2015-01-01
  • 小程序?qū)崿F(xiàn)簡(jiǎn)單吸頂效果

    小程序?qū)崿F(xiàn)簡(jiǎn)單吸頂效果

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)簡(jiǎn)單吸頂效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • javascript中的綁定與解綁函數(shù)應(yīng)用示例

    javascript中的綁定與解綁函數(shù)應(yīng)用示例

    本文為大家詳細(xì)介紹下javascript中綁定與解綁函數(shù)在Ie及Mozilla中的應(yīng)用,感興趣的各位可以參考下哈,希望對(duì)大家有所幫助
    2013-06-06
  • 基于JavaScript實(shí)現(xiàn)頁(yè)面輪播圖漸變效果的示例代碼

    基于JavaScript實(shí)現(xiàn)頁(yè)面輪播圖漸變效果的示例代碼

    這篇文章主要給大家分享如何使用JavaScript實(shí)現(xiàn)一個(gè)頁(yè)面輪播圖漸變效果,輪播圖是網(wǎng)頁(yè)開(kāi)發(fā)中常見(jiàn)的功能之一,它能夠展示多個(gè)圖片或內(nèi)容,并以一定的時(shí)間間隔進(jìn)行自動(dòng)切換,而通過(guò)添加漸變效果,可以讓切換過(guò)程更加平滑流暢,感興趣的小伙伴可以自己動(dòng)手嘗試一下
    2023-10-10
  • JS實(shí)現(xiàn)兩個(gè)大數(shù)(整數(shù))相乘

    JS實(shí)現(xiàn)兩個(gè)大數(shù)(整數(shù))相乘

    大數(shù),即超出語(yǔ)言所能表示的數(shù)字最大范圍的數(shù)字,那么如何實(shí)現(xiàn)兩個(gè)大數(shù)相乘呢?下面有個(gè)不錯(cuò)的方法,大家可以參考下
    2014-04-04
  • JavaScript組合拼接字符串的效率對(duì)比測(cè)試

    JavaScript組合拼接字符串的效率對(duì)比測(cè)試

    這篇文章主要介紹了JavaScript組合拼接字符串的效率對(duì)比測(cè)試,本文測(cè)試了IE6、Firefox、Mozilla、Netscape、Opera等瀏覽器,需要的朋友可以參考下
    2014-11-11
  • js獲取字符串字節(jié)數(shù)方法小結(jié)

    js獲取字符串字節(jié)數(shù)方法小結(jié)

    這篇文章主要介紹了js獲取字符串字節(jié)數(shù)方法,實(shí)例總結(jié)了javascript字符串長(zhǎng)度計(jì)算的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • JS如何生成動(dòng)態(tài)列表

    JS如何生成動(dòng)態(tài)列表

    這篇文章主要為大家詳細(xì)介紹了JS如何生成動(dòng)態(tài)列表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09

最新評(píng)論