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

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

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

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

ng-options

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

普通寫法

<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):簡單

缺點(diǎn):

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

使用ng-repeat

ng-repeat是angularJS中非常強(qiáng)大的一個(gè)directive,在渲染列表上極大的方便了前端開發(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):

  • 代碼簡介
  • 可存儲對象,取值方便

缺點(diǎn):

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

使用ng-options

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

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

注:

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

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

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

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

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

ng-checked

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

這里只說angularJs的用法:

下面依然以年級和班級為例:

<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ù)組查看有哪些對象的is_checked屬性為true即可。

radio的用法同理。

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

相關(guān)文章

  • Object.defineproperty方法示例詳解

    Object.defineproperty方法示例詳解

    Object.defineproperty?的作用就是直接在一個(gè)對象上定義一個(gè)新屬性,或者修改一個(gè)已經(jīng)存在的屬性,這篇文章主要介紹了Object.defineproperty方法,需要的朋友可以參考下
    2022-12-12
  • JavaScript實(shí)現(xiàn)上下浮動(dòng)的窗口效果代碼

    JavaScript實(shí)現(xiàn)上下浮動(dòng)的窗口效果代碼

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)上下浮動(dòng)的窗口效果代碼,可實(shí)現(xiàn)自定義窗口在垂直方向上彈性移動(dòng)的效果,代碼備有完整的注釋說明供讀者參考學(xué)習(xí),需要的朋友可以參考下
    2015-10-10
  • JavaScript Window窗口對象屬性和使用方法

    JavaScript Window窗口對象屬性和使用方法

    這篇文章主要介紹了JavaScript Window窗口對象屬性和使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 如何使用JS獲取IE上傳文件路徑(IE7,8)

    如何使用JS獲取IE上傳文件路徑(IE7,8)

    本篇文章是對使用JS獲取IE上傳文件路徑的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07
  • JavaScript判斷變量是否為undefined的兩種寫法區(qū)別

    JavaScript判斷變量是否為undefined的兩種寫法區(qū)別

    這篇文章主要是對JavaScript判斷變量是否為undefined的兩種寫法區(qū)別進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • uniapp開發(fā)App出現(xiàn)網(wǎng)絡(luò)異常的解決方法

    uniapp開發(fā)App出現(xiàn)網(wǎng)絡(luò)異常的解決方法

    這篇文章主要給大家介紹了uniapp開發(fā)App出現(xiàn)網(wǎng)絡(luò)異常的解決方案,文中有相關(guān)的解決方法和步驟,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 淺析JS中的原型,原型鏈和繼承

    淺析JS中的原型,原型鏈和繼承

    經(jīng)典模式和圣杯模式都是用于解決構(gòu)造函數(shù)繼承和原型繼承的問題,但它們在實(shí)現(xiàn)繼承的方式上有所不同,本文主要來和大家聊聊經(jīng)典模式和圣杯模式下原型,原型鏈和繼承的實(shí)現(xiàn),需要的可以參考下
    2023-09-09
  • JS實(shí)現(xiàn)換膚功能的方法實(shí)例詳解

    JS實(shí)現(xiàn)換膚功能的方法實(shí)例詳解

    這篇文章主要介紹了JS實(shí)現(xiàn)換膚功能的方法,結(jié)合實(shí)例形式分析了javascript針對頁面元素屬性與樣式動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-01-01
  • js事件冒泡、事件捕獲和阻止默認(rèn)事件詳解

    js事件冒泡、事件捕獲和阻止默認(rèn)事件詳解

    這篇文章主要為大家詳細(xì)介紹了js事件冒泡、事件捕獲和阻止默認(rèn)事件,感興趣的小伙伴們可以參考一下
    2016-08-08
  • JavaScript數(shù)據(jù)存儲 Cookie篇

    JavaScript數(shù)據(jù)存儲 Cookie篇

    這篇文章主要為大家介紹了JavaScript數(shù)據(jù)存儲 Cookie篇,感興趣的朋友可以參考一下
    2016-07-07

最新評論

泸溪县| 大埔区| 台前县| 星子县| 天峨县| 遵义县| 灵寿县| 广灵县| 弋阳县| 新河县| 旬邑县| 洛阳市| 大同县| 巴楚县| 常宁市| 绍兴市| 西和县| 博湖县| 乃东县| 西和县| 南通市| 香格里拉县| 新民市| 玉环县| 龙门县| 武汉市| 黑龙江省| 信宜市| 葵青区| 张家川| 中宁县| 平阳县| 吉木萨尔县| 大余县| 北辰区| 鄂温| 武义县| 渭南市| 邢台县| 台中市| 楚雄市|