当前位置: 首页 > 面试题库 >

AngularJS中的$ evalAsync和$ timeout有什么区别?

楚志强
2023-03-14
问题内容

我已经使用AngularJS了一段时间,并且发现需要不时使用$
timeout
(似乎通常是初始化jQuery插件)。

最近,我一直在尝试更好地和更深入地了解摘要周期,并且遇到$
evalAsync
函数

似乎该函数产生与相似的结果$timeout,只是您不给它延迟。每次使用时,$timeout它的延迟都为0,所以现在我想知道是否应该使用它$evalAsync

两者之间有根本区别吗?您会在哪种情况下使用另一种情况?我想更好地了解何时使用哪个。


问题答案:

总结一下:

  • 如果使用 指令中的$ evalAsync将 代码 放入 队列中,则该代码应 Angular处理DOM 之后 浏览器呈现 之前运行
  • 如果代码是使用 $ evalAsync从控制器 排队的,则它应该 Angular操纵DOM之前(以及在浏览器呈现之前)运行-您很少需要这样做
  • 如果代码使用 $ timeout 排队,则应 Angular操作DOM 之后 和浏览器渲染 之后 运行代码(在某些情况下可能导致闪烁)


 类似资料:
  • 本文向大家介绍jQuery和AngularJS有什么区别?,包括了jQuery和AngularJS有什么区别?的使用技巧和注意事项,需要的朋友参考一下 AngularJS是一个开源Web应用程序框架。它最初由Misko Hevery和Adam Abrons在2009年开发。现在由Google维护。它的最新版本是1.4.3。 以下是AngularJS的功能: AngularJS是一个强大的基于Jav

  • 我对Angularjs很陌生。谁能解释一下这些AngularJS运算符之间的区别:用适当的例子隔离作用域。

  • 问题内容: 我是AngularJS的新手。谁能解释一下这些AngularJS运算符之间的区别:用适当的示例隔离范围时。 问题答案: 允许将在指令属性上定义的值传递到指令的隔离范围。该值可以是简单的字符串值(),也可以是带有嵌入式表达式()的AngularJS插值字符串。可以将其视为从父作用域到子指令的“单向”通信。约翰·林德奎斯特(John Lindquist)进行了一系列简短的电视广播,解释了每

  • 问题内容: 我是AngularJS的新手。谁能解释一下这些AngularJS运算符之间的区别:用适当的示例隔离范围时。 问题答案: 允许将在指令属性上定义的值传递到指令的隔离范围。该值可以是简单的字符串值(),也可以是带有嵌入式表达式()的AngularJS插值字符串。将其视为从父作用域到子指令的“单向”通信。 允许指令的隔离范围将值传递到父范围中,以便在属性中定义的表达式中进行求值。请注意,指令

  • 问题内容: 我已经仔细阅读了有关该主题的 AngularJS 文档,然后摆弄了一条指令。这是jsfiddle。 以下是一些相关的摘要: 从 HTML : 从窗格指令: 我没有几件事: 为什么必须与和一起使用? 我是否还可以直接访问父范围,而不用属性装饰元素? 该文档说: “通常希望通过表达式将数据从隔离的范围传递到父范围” ,但这似乎也可以与双向绑定一起使用。为什么表达途径会更好? 我发现了另一个

  • 问题内容: 从第一种观点看,似乎可以传递一些数据作为方法的参数,应在按下按钮期间调用。 但我看不出有什么区别。 我遵循了代码片段: HTML 要么 JS 两者都可以。 谢谢, 问题答案: 他们是一样的东西。您可以用来制作有效的html。