您的位置:首页 > Web前端 > AngularJS

angular 深入浅出

2016-07-01 00:00 330 查看
摘要: angular的一些细节

今天群里人问起了一些问题,有一个是:ng-show和ng-if的区别,我真的不知道.我只知道ng-show和隐藏显示的,ng-if也是.突然发现自己学的程度差太多了.于是自己找资料,才知道ng-show是加载后隐藏 而ng-if是没加载 ,ng-show 其实就是改版DOM的display属性,而ng-if,true是创建元素,false是销毁元素.

在说说$digest和$apply,有时候手动调用它们时会报错.为什么呢?

angular是通过脏检测机制实现双向绑定的,ng会把$digest函数封装进去 用于把变更的数据同步到界面上去,而angular的设计同时 允许一个$digest运行.所以有时候手动调用它们会报错.

在说说它们两个的细致区别,性能上来说 如果知道自己的这个数据变更所造成的影响范围 ,应当尽量使用$digest ,$digest只触发当前作用域和它的子作用域上的监控,反之不明确,无法精确的知道数据变更影响的范围,使用$apply,$apply会遍历整个作用域树,调用所有的监控.很黄很暴力.

在下面说说angular的表单验证

<input type="text" required> 必填项验证

<input type="text" ng-minlenght="5"> 最小长度5

<input type="text" ng-maxlenght="5" > 最大长度5

<input type="text" ng-pattern="/[a-zA-Z]/"> 模式匹配 确保里面的模式是正则表达式 也可其他

<inpu type="email" name="email" > 将type类型改为 email ,验证是否电子邮件

同理type="number" type="url" 验证是否数字 是否url

angular的$q和promise promise是解决异步的编程问题.在网上有一篇文章描述的很清楚.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: