ITPub博客

首页 > IT职业 > IT职场 > [Angularjs]ng-select和ng-options

[Angularjs]ng-select和ng-options

IT职场 作者:zhaozy78 时间:2021-09-09 09:12:10 0 删除 编辑

写在前面

最近由于项目需要,学了一段时间的angularjs,发现还是比较容易上手的,里面有很多地方,的确震撼了自己。这里就简单的介绍一下angularjs中ng-select和ng-options的用法。

ng-select

ng-select用来将数据同HTML的

ng-options的值可以是一个内涵表达式(comprehension expression),其实这只是一种有趣的说法,简单来说就是它可以接收一个数组或者对象,并对她们进行循环,将内部的内容提供给select标签内部的选项。它可以是一下两种形式。

1、数组作为数据源

用数组中的值做标签。

用数组中的值作为选中的标签。

用数组中的值做标签组。

用数组中的值作为选中的标签组。

2、对象作为数据源

用对象的键-值(key-value)做标签。

用对象的键-值作为选中的标签。

用对象的键-值作为标签组。

用对象的键-值作为选中的标签组。

一个例子

图片描述




   select
   
   
   

       
   

图片描述

查看一下dom
图片描述

你会发现,上面的option中的text都是对象,这也很容易理解,因为cities数组的每一项都是一个对象,绑定的时候将以对象直接绑定上。那么我们如何只让它显示name属性呢?

    
            

直接点出属性即可。再查看下dom数。
图片描述

值已经显示出来,但是并不是太完美,因为第一项默认选中的竟然没有值,那么接下来我们指定默认值。

  $scope.mycity = '北京';

加上这句代码,并不能解决问题,我们仍需修改ng-options

我们再查看下dom
图片描述

ng-options有以下格式的语法

for array data sources:


    • label for value in array

    • select as label for value in array

    • label group by group for value in array

    • select as label group by group for value in array track by trackexpr

for object data sources:


    • label for (key , value) in object

    • select as label for (key , value) in object

    • label group by group for (key, value) in object

    • select as label group by group for (key, value) in ob

在看一个分组的例子,为cities数组加上group属性,并按照group分组:

图片描述




   select
   
   
   

       
   

图片描述

结果
图片描述

双向绑定

这里已经指定了ng-model,获取选中的值,也非常方便了。





   select
   
   
   

       
       

欢迎来到{{mycity}}


   


图片描述

总结

刚接触angularjs不久,这是见到的其中的一个例子,顺手总结在这里,也是一种学习。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3276/viewspace-2808608/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-14

  • 博文量
    72
  • 访问量
    426