angular 指令梳理 —— checkBox
checkBox 持久化数据为 逗号分割
/**
* 功能说明:
* htCheckbox 指令用于收集checkbox数据。
* 在页面中使用
* 属性指令:ht-checkbox
* 对应的值为scope对应的数据data.users=“1,3”。
* 示例:
<div >
<input type="checkbox" ht-checkbox ng-model="data.users" value="1" />红
<input type="checkbox" ht-checkbox ng-model="data.users" value="2" />绿
<input type="checkbox" ht-checkbox ng-model="data.users" value="3" />蓝
<span>{{data.users}}</span>
</div>
*/
.directive('htCheckbox', [ function() {
return {
restrict : 'A',
require : "ngModel",
link : function(scope, element, attrs, ctrl) {
var checkValue = attrs.value; //modelValue转viewValue的过程
ctrl.$formatters.push(function(value) {
if (!value) return false; var valueArr = value.split(",");
if (valueArr.indexOf(checkValue) == -1) return false; return true;
}); //viewValue转modelValue的过程
ctrl.$parsers.push(function(value) {
var valueArr = [];
if(ctrl.$modelValue){
valueArr = ctrl.$modelValue.split(",");
}
var index = valueArr.indexOf(checkValue);
if (value) {
// 如果checked modelValue 不含当前value
if (index == -1) valueArr.push(checkValue);
} else {
if (index != -1) valueArr.splice(index, 1);
} return valueArr.join(",");
});
}
}
}])
angular 指令梳理 —— checkBox的更多相关文章
- angular 指令梳理 —— 前端校验
angular js内置校验的扩展 校验成功则 scope.formName.$valid=true 校验失败 元素的class: ng-invalid 成功:.ng-valid /** * 校验指 ...
- Angular指令渗透式理解
通过一段时间对angular指令的使用,理解了angular指令的意义,下面逐一介绍一下. ng-app:定义一个angualr模块,表示angular作用的范围,如下代码: ng-app在html标 ...
- angular指令深度学习篇
angular指令深度学习-过滤器 limitTo ... <body ng-app="app" > <div ng-controller="myCtr ...
- Angular4 后台管理系统搭建(9) - 用自定义angular指令,实现在服务端验证
最近这段时间发现,北京这用angular4 或 angular2的公司很少.几乎是没有.很担心自己是不是把精力放到了不应该的地方.白耽误了时间.但是随着我对新版angular框架理解的加深.个人感觉a ...
- angular指令之complie和link不得不说的故事
angular指令比较晦涩难懂的就是complie和link字段了,什么时候该用complie?什么时候该用link?总是很难分别清楚.当理解了指令的真正编译原理的时候,就会发现这相当的简单. ng怎 ...
- angular指令大全
这篇文章的案例都是来自官方,引用的cdn来自bootcss, 因为angular的官方网站被屏了, 所以要翻, 不过我把整个文档下回来了,方便大家下载可以点击: 打开下载英文版 angular的指令 ...
- angular 指令 要点解析
指令可以删繁就简前端的js代码,杜绝重复的js代码和html代码. 下面就对指令的重要属性进行罗列 一.restrict = 'AECM' 分别指该指令标识位于 attribute属性: < ...
- angular学习笔记02 angular指令大全
第一步 先要引入angular, 第二步 在 html 标签中<html ng-app> 加入ng-app(这是个必须的,不然会报错) 接下来就可以去使用angular的各种指令了. ...
- angular指令中使用ngModelController
在这篇文章中 angular学习笔记(三十)-指令(10)-require和controller 说到了通过require属性和controller参数来让指令与指令之间互相交互. 本篇主要介绍的是指 ...
随机推荐
- excel运行最多行数
2003及以前版本为65536(即6万多)行,256列2007版:1048576(即1百零多万)行,16384(即1千多)列
- angularjs中关于ng-if的一些理论
ng-if简介: ● 使用ng-if指令可以完全根据表达式的值在DOM中生成或移除一个元素.如果赋值给ng-if 的表达式的值是false,那对应的元素将会从DOM中移除,否则对应元素的一个克隆将被重 ...
- JS中setAttribute的兼容性问题(摘自leejersey)
class和className兼容方法: object.setAttribute("class","content") 在IE8.Chrome.火狐.Opera ...
- 分数相加减的代码(c++)
#include <iostream> using namespace std; int gy(int a,int k1) {int min; if(a>k1)min=k1; els ...
- 用lambda表达式替代 for循环进行批量操作。
IEnumerable<Rect> rectlist3 = rectlist.Select(rect =>newRect(rect.X + 2000, rect.Y, rect.re ...
- mysql日志文件相关的配置【1】
1.log_output=[file | table | none ] 这个参数指定general_log &slow_query_log 的输出目标.可以是table | file | no ...
- Proguard中optimize设置不当引发SimException
今天来说一下Proguard中关于optimize的问题.先上一张异常图片 最近项目重构,重新调整了各个组件之间的依赖关系.过程中,在项目Proguard这块卡住了,最开始还好,Proguard只是提 ...
- 改变VC生成exe图标
默认 VC 生成的 EXE 文件的图标很大众,可以根据以下办法修改 exe 的图标. 以 Visual C++ 6.0 为例: 1. 创建项目,添加代码,并且保证项目可以正常编译. 2. 为项目增加资 ...
- Codeforces 429B Working out
http://codeforces.com/contest/429/problem/B 题意:一个从左下到右上,一个从左上到右下,要求只相交一次,求整个路径和的最大值 思路:发现可以枚举交点,然后算到 ...
- JavaScript中String对象处理HTML标记中文本的方法
big():创建一个<big></big>标记,将这个字符串的字体变大blink():创建一个<blink></blink>标记,使字符串具有闪烁效果b ...