angularJS中select元素的应用浅析
select array 数据:

select ng-model 用法:
1.可以是一个对象形式,ng-model="test" $scope.test = {name: "admin1", id: 1, data: [12], type: "open"};
2.可以是一个string或者number,ng-model="test.id" $scope.test = {name: "admin1", id: 1, data: [12], type: "open"};
select ng-change 用法:

ng-change="getDateTest(test)"
$scope.getDateTest = function (item) {
console.log(item);
};
本来是想把item直接当作参数传给getDateTest,但是试过之后发现不行,拿到的是undefined,不能像ng-repeat循环出来的那样做。
select ng-options 用法:
1.item.name for item in array
基本用法,array是一个数组列表,item是数组中的一项,json形式,name是json中的一项。
可以看到循环出来的label就是item.name,但是value值应该是随机搞出来的,这里没指定的情况下,我也不太清楚value是按照啥来的-_-


2.item.id as item.name for item in array
item.id 会和 test.id 进行对比,如果一样,会默认选到这一项option;当选择某一项option时会把当前的id赋值给test.id。
这种情况下,label是item.name,value就是item.id。


3.item.name for item in array track by item.id
这种情况是在基本配置下多了一个track by,是用来指定索引项,在这里value就是item.id。
选择某一项option时,test会被赋值为当前的option,也就是当前的一项item,所以这时候就可以在ng-change时把test传回去,解决了上面无法传入item的问题。


4.item.name group by item.type for item in array
这种用法可以分组,依据item.type分成了两组数据。



5.对象的用法:

1).key for (key, value) in object
需要注意的是这里的test会被赋值成value的值。


2).key as key for (key, value) in object
这种情况和上面唯一的区别是test会被赋值成key的值。

3).key group by value for (key, value) in object
这种情况下会按照value分组。



select 小结:
在使用angular过程中,会经常与列表的循环打交道,用的比较多的是ng-repeat,那个很好用。但是最近用到了select,就了解了一下,发现ng-options也是很有趣,也蛮多用法的,就简单总结了一下,希望以后再用到什么新功能再来补充吧-_-
angularJS中select元素的应用浅析的更多相关文章
- .net后台获取HTML中select元素选中的值
前台: <select id="Province" name="Province" class="select"></se ...
- AngularJS中实现无限级联动菜单
多级联动菜单是常见的前端组件,比如省份-城市联动.高校-学院-专业联动等等.场景虽然常见,但仔细分析起来要实现一个通用的无限分级联动菜单却不一定像想象的那么简单.比如,我们需要考虑子菜单的加载是同步的 ...
- select元素中设置padding效果
更新2016-9-17:这个bug是在mac os上的发生,在window系统中不存在这个问题! 给select元素增加:padding-left:20px;但是未生效,如下图所示: 在select上 ...
- 仅Firefox中A元素包含Select时点击Select不能选择option
这是在使用京东的一个日期组件时碰到的bug,重现bug的代码精简如下 <!DOCTYPE HTML> <html> <head> <title> 仅Fi ...
- AngularJs中,如何在父元素中调用子元素为自定义Directive中定义的函数?
最近一段时间准备使用AngularJs中的自定义Directive重构一下代码. 在这里说明一下,把自定义控件封装成Directive并不一定是要复用,而是要让代码结构更加清晰.就好像你将一个长方法拆 ...
- innerHTML和innerText的区别,以及select元素中怎么取出被选中的option。
一.innerHTML和innerText的区别. 元素.innerHTML = 字符串,是将一对或一个标签所标识的内容全部替换为所赋予的字符串,如果字符串中有标签,浏览器将自动识别其中的标签. 元素 ...
- BeautifulSoup中查找元素 select() 和find()区别
从html中查找元素,之前一般都用find(),查找符合条件的第一个,如下 f = open(file, 'r') # 读取文件内容content = f.read()soup= BeautifulS ...
- angularjs 下select中ng-options使用
当我有一堆object数据要用下拉框进行显示选择时,可以使用到angularjs中的select中的ng-options的属性.官网网址:https://docs.angularjs.org/api/ ...
- AngularJS中的表单验证
AngularJS中的表单验证 AngularJS自带了很多验证,什么必填,最大长度,最小长度...,这里记录几个有用的正则式验证 1.使用angularjs的表单验证 正则式验证 只需要配置一个正则 ...
随机推荐
- windows 运行库与dll文件
Windows 10包含版本 win10家庭版win10专业版win10教育版win 10企业版 Windows 7包含6个版本分别为Windows 7 Starter(初级版)Windows 7 H ...
- mysql解析binlog日志
binlog日志用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句.语句以“事件”的形式保存,它描述数据更改.因为有了数据更新的binlog,所以可以用于 ...
- FastDFS 分布式文件系统(部署和运维)
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/KamRoseLee/article/det ...
- Python学习笔记8 pip换源
换pip源 安装好 python 后,有一个问题就是 pip 安装的默认下载地址在国外.要换一下,不然蜗牛速度,怎么追赶世界?(瞎扯一下,活跃气氛~) Ubuntu下,进入终端(ctrl + alt ...
- Comet OJ - Contest #2题解
传送门 既然没参加过就没有什么小裙子不小裙子的了-- 顺便全是概率期望真是劲啊-- 因自过去而至的残响起舞 \(k\)增长非常快,大力模拟一下就行了 int main(){ scanf("% ...
- 小程序开发第一天josn和wxml
视频中只有app.josn路径还有wxm文本.js中没有调用page.原视频中是可以出来文本内容的. 但是把js调用page以后是可以呈现的 所以疑问点就是为什么以前可以? 1.微信开发工具改了,强制 ...
- ESA2GJK1DH1K基础篇: Android实现MQTT封装源码使用说明
说明 这一节说明一下基础篇APP源码里面MyMqttCilent.java这个文件的使用 新建工程 安装MQTT的jar包 implementation 'org.eclipse.paho:org.e ...
- cf1179D
cf1179D 链接 cf 思路 csdn 很玄学,正解是斜率优化dp,但被一个奇妙的贪心过了. 代码 #include <bits/stdc++.h> #define ll long l ...
- 【字符串】KMP
Algorithm Task 给定一个文本串 \(S\) 和一个模式串 \(T\),求 \(T\) 在 \(S\) 中出现的所有位置. Limitations 要求时空复杂度均为线性. Solutio ...
- Generator生成器函数执行过程的理解
一个最基本的Generator函数格式如下,函数体内部要使用yield修饰符则必须在函数名前加上*号 ; function *testYield(x){ console.log('before yie ...