ngCsp

处理CSP(上下文安全策略)的支持。

当开发如google浏览器的扩展时候这个就必须使用。

CSP禁止应用程序使用eval和Function(string)生成的函数。如果我们需要兼容,我们只需要使用$parse执行getterfn而不违反这些限制。

AngularJs使用Function(string)以最佳的速度生成功能。使用ngScp指令会导致Angular使用SCP兼容模式。

格式:ng-csp

使用代码:

  <div ng-app="Demo" ng-scp></div>

这个指令解释的很高大上,不过看到开发google浏览器扩展的时候用,而且平常开发过程中也很少用到,所以就随意提下,感兴趣的可点击上面链接对内容安全策略做个深入的了解。

ngFocus

在focus事件上执行指定表达式。

格式:ng-focus=“value”

value:获取焦点时执行的表达式。

使用代码:

  <div ng-app="Demo" ng-controller="testCtrl as ctrl">
<input ng-focus="ctrl.fn()" ng-model="ctrl.inputValue" />
</div>
  (function () {
angular.module("Demo", [])
.controller("testCtrl", testCtrl);
function testCtrl() {
this.fn = function () {
this.inputValue = "Hello World !!!";
};
};
}());

这个指令功能就是比如当一个input等获取到焦点的时候,执行你指定的表达式函数,达到你需要的目的。

ngBlur

在blur事件上执行指定表达式。

格式:ng-blur=”value”

value: 失去焦点时执行的表达式。

使用代码:

  <div ng-app="Demo" ng-controller="testCtrl as ctrl">
<input ng-blur="ctrl.fn()" ng-model="ctrl.inputValue" />
</div>
  (function () {
angular.module("Demo", [])
.controller("testCtrl", testCtrl);
function testCtrl() {
this.fn = function () {
this.inputValue = "Hello World !!!";
};
};
}());

这个指令功能就是比如当一个input等失去焦点的时候,执行你指定的表达式函数,达到你需要的目的。

ngForm

HTML表单元素不允许嵌套。ngForm有可用的嵌套模式,比如有一个子元素的控制需要进行验证。

格式:<ng-form ></ng-form>

贴代码:

  <ng-form name="outterForm">
<ng-form name="innerFormOne">
<input required ng-model="textOne" />
<button ng-disabled="innerFormOne.$invalid">保存-内部1</button>
</ng-form>
<ng-form name="innerFormTwo">
<input required ng-model="textTwo" />
<button ng-disabled="innerFormTwo.$invalid">保存-内部2</button>
</ng-form>
<button ng-disabled="innerFormOne.$invalid || innerFormTwo.$invalid">保存-外部</button>
</ng-form>

关于这个指令,最令人心动的就是嵌套表单了,之前在js或者jquery开发的时候是无法实现多个小表单同时验证通过才能大表单通过验证的效果,因为本身form就不允许嵌套的,然而ngForm解决了这个问题,这样就可以先让所有的嵌套的小表单通过验证,然后才整体通过验证并提交表单了。简直不要太方便~

AngularJs ngCsp、ngFocus、ngBlur、ngForm的更多相关文章

  1. AngularJs学习笔记2-控制器、数据绑定、作用域

    上次分享完该系列文章后有朋友也建议说1.x版本除了维护也没有必要学习,可以学习2.0开始学习,我也知道1.x无论是从性能还是架构上都没有2.x好,但是我想因为现在也有一些朋友还在用1.x版本,因为1. ...

  2. AngularJS进阶(四十)创建模块、服务

    AngularJS进阶(四十)创建模块.服务 学习要点 使用模块构架应用 创建和使用服务 为什么要使用和创建服务与模块? 服务允许你打包可重用的功能,使之能在此应用中使用. 模块允许你打包可重用的功能 ...

  3. AngularJS:何时应该使用Directive、Controller、Service?

    AngularJS:何时应该使用Directive.Controller.Service? (这篇文章你们一定要看,尤其初学的人,好吗亲?) 大漠穷秋 译 AngularJS是一款非常强大的前端MVC ...

  4. AngularJS路由系列(5)-- UI-Router的路由约束、Resolve属性、路由附加数据、路由进入退出事件

    本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● UI-Router约束路由参数● UI-Router的Resolve属性● UI-Router给路由附加数据● UI- ...

  5. JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  6. JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  7. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  8. JavaScript学习总结(二)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  9. 微软、谷歌、亚马逊、Facebook等硅谷大厂91个开源软件盘点(附下载地址)

    开源软件中有大量专家构建的代码,大大节省了开发人员的时间和成本,热衷于开源的大厂们总是能够带给我们新的惊喜.2016年9月GitHub报告显示,GitHub已经有超过 520 万的用户和超 30 万的 ...

  10. Google、亚马逊、微软 、阿里巴巴开源软件一览

    Google.亚马逊.微软 .阿里巴巴开源软件一览 大公司为什么要发布开源项目?一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼工程师写出更好的代码.三是开 ...

随机推荐

  1. 制作鼠标移动到div上面显示弹出框

    <div class="show-dialog hide"> <header> <div class="note"> < ...

  2. 大新闻!HoloLens即将入华商用

    昨天微软搞了大新闻,Terry和Alexi到了深圳,在WinHEC大会上宣布了2017上半年HoloLens正式入华商用. 关于HoloLens的技术原理和细节官方文档和报道已经披露很多了,他是一款真 ...

  3. centos设置静态IP

    1.编辑网卡文件 vi /etc/sysconfig/network-scripts/ifcfg-eth0 # eth0为网卡编号 设置网卡eth0的IPV4信息,需要注意的是,设置的IPADDR需要 ...

  4. c:forEach 标签中varStatus的用法

    c:forEach varStatus属性 current 当前这次迭代的(集合中的)项index  当前这次迭代从 0 开始的迭代索引count  当前这次迭代从 1 开始的迭代计数first 用来 ...

  5. jQuery经典学习笔记

    1.层次选择器: $("div> span") 获取div下的span元素 $(".one + div") 获取class为one的下一个div 2)过滤 ...

  6. js单选和复选框

    http://blog.csdn.net/chelen_jak/article/details/44827393 http://www.gbtags.com/technology/jquerynews ...

  7. js前端的各种面试题

    转载:http://bbs.blueidea.com/thread-3107428-1-1.html 1.截取字符串abcdefg的efg //alert('abcdefg'.substring(4) ...

  8. tr命令

    tr命令是linux下一个字符处理命令,用途:    字符替换    字符删除    字符压缩形式:tr [OPTION]... SET1 [SET2]接口:输入输出都是标准流,所以要通过管道来调用这 ...

  9. Windows去除快捷箭头

    美化桌面 bat代码: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shel ...

  10. 让所有的浏览器都支持html5

    <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js" ...