也说说angularJs里的evalAsync
虽说angular都快出2.0了,到了2.0这些东东都会被干掉。不过我们眼前的事还是要处理。
$evalAsync和$timeout到底什么区别,网上说法很多,最近看到的是说在directive里就怎么怎么,在controller里就怎么怎么。
可我只是用在一个事件的回调函数里,算那种呢?挺乱的。还是自己查查源码算了。
$timeout比较好理解,就是在所有事情处理完,包括浏览器渲染也做完,在调度队列末尾插入我们要执行的代码。所以通过timeout来调用,肯定会很晚执行。
$evalAsync,其实要注意的是这个不是一个全局方法,调用的时候写的是'$scope.$evalAsync',有这个scope的作用域的。源码里面在digest方法里是这样子滴:
digest:
....
while(asyncQueue.length || isDirty){
处理asyncQueue
递归处理scope上的dirty check
}
可见,如果某一次dirty check时,调用了一次evalAsync,把要执行的代码放到了asyncQueue,那就总要等到这一个tick的dirty check做完,下一个tick开始的时候才会执行。
也说说angularJs里的evalAsync的更多相关文章
- angularjs里对JS的lowercase和uppercase的完善
读angularjs的源码开头. var lowercase = function (string) { return isString(string) ? string.toLowerCase() ...
- 记项目中ES6+gulp+angularjs里的问题
AngualrJs中可用来注入的有三种类型,service.factory.provider,这三种写法不样,用法也都不一样.其中,service只实例化一次,其实就是单例模式的思想.无论我们在什么地 ...
- angularjs里重要的route
写一段代码来解释吧! <!DOCTYPE html><html ng-app="mainApp"><head lang="en"& ...
- angularjs学习总结 详细教程(转载)
1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...
- [转载]angularjs学习总结 详细教程
http://blog.csdn.net/yy374864125/article/details/41349417#t75 目录(?)[-] 前言 AngularJS概述 AngularJS是什么 A ...
- angularjs学习总结(~~很详细的教程)
1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...
- 转: angularjs学习总结(~~很详细的教程)
1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...
- angularJS详解
这篇文章转载 kooky798 的博客,http://blog.csdn.net/yy374864125/article/details/41349417, 写到这么详细也是没谁了,必须粉一个 1 ...
- AngularJS 整理学习
参考博客: https://blog.csdn.net/weixin_33178524/article/details/79179597 https://blog.csdn.net/qq_42128 ...
随机推荐
- pascal闪电入门系列目录
第一章 准备工作 第二章 Hello,world! 第三章 输出.输入 第四章 变量常量.基本数据类型 第五章 格式.注释 第六章 运算符.表达式.优先级 第七章 分支结构 第八章 数 ...
- javascript冒泡算法
var arr = [10, 10, 3, 2, 5 , 4, 8, 3]; function reSort(arr) { var temp = 0; var len = arr.length; fo ...
- python学习心得第一章
初始python 1什么是程序 计算机程序是一组执行某种动作的的指令.和那些电路.芯片.显卡.硬盘等不同,它不是计算机本身可以触摸的部分,而是隐藏在背后运行在硬件上面的东西.程序就是一系列告诉没有知觉 ...
- linux 驱动学习笔记04--简单驱动
首先贴代码helloworld.c和Makefile /************************************************************************ ...
- 数据库一些常用的SQL语句
1.多表连接查询: 假设现在有三个表,One,Two,Three: One表字段:Code(主键),Name Two表字段:Birthday,T_code(One表Code的外键) Three表字段: ...
- Minecraft 插件 world edit 的cs 命令
现在 jar包 http://www.mozilla.org/rhino ,放到classpath 我是放到libs目录中, 1.8 spi 服 @ECHO OFFjava -cp ".;. ...
- tesseract3.01的训练和使用
相关源码.资源下载:http://code.google.com/p/tesseract-ocr/downloads/list 训练步骤: 1. Generate Training Images:生 ...
- 枚举/遍历 一个数组NSArray/NSDictionary
一,当枚举一个数组的时候: 1.使用 for (id object in array) 如果是顺序枚举 2.使用 for (id object in [arrary reverseObjectEnum ...
- Java基础知识系列——Exception
异常在编程中使用频率非常非常的高,在Java中异常的基类是Exception. 下面就介绍一下Java中的异常: 1.结构 try{ //捕获try里的异常 }catch( Exception e){ ...
- SimpleDateFormat的应用
import java.text.SimpleDateFormat;import java.util.Date;public class Main { public static void ma ...