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

AngularJS如何知道变量何时更改?AngularJS脏检查如何工作?

王凯旋
2023-03-14
问题内容

我正在阅读一些文章,以进一步了解AngularJS的工作原理。

我不理解的术语之一是Dirty Checking

究竟是什么?看起来像观察者模式,但显然更好。

你能帮我理解吗?

编辑:它也可以对谁想要了解更多有关观看的人有用的这段视频从swiip在NgEurope一些年前。


问题答案:

Angular定义了所谓的摘要循环的概念。此循环可以视为一个循环,在此循环中Angular检查所有$
scope监视的所有变量是否有任何更改。因此,如果在控制器中定义了$
scope.myVar且此变量被标记为要监视,那么您将明确告诉Angular在循环的每次迭代中监视myVar的更改。

此“ digest”也称为“脏污检查”,因为在某种程度上,它会 扫描 范围以进行更改。我不能说这是比可观察的模式好还是坏。这取决于您的需求。

一些链接:

  • Angular文档
  • 有关Angular范围的博客文章


 类似资料:
  • 我读了一些文章来了解AngularJS的工作原理。 我不明白的一个术语是脏检查。 这到底是什么?看起来像观察者模式,但显然更好。 你能帮我理解这个吗? 编辑:对于那些想了解更多信息的人来说,几年前在NgEurope观看swiip的这段视频也很有用。

  • 问题内容: 如何轻松检测变量何时更改值?我希望每当指定变量更改值时,程序的执行就在调试器上中断。现在,我正在使用Eclipse的调试器。 问题答案: 对于类或实例变量 右键单击大纲视图中的变量 选择“切换监视点” 然后,在breapkoints视图中,可以右键单击结果条目 选择“断点属性” 取消选择“现场访问”。

  • 问题内容: 我想基于变量在Angular.js ng-repeat上显示不同的limitTo数字。 这是我的代码: 并在控制器中: 我只能假设有一种基于搜索输入来更改limitTo的更优雅的方法,我只是不知道要寻找什么。 您可以在http://happinesshunt.co上看到此代码的实现。 PS:我是新来的,而且是开发的新手,所以,如果未正确提出问题,请原谅我。 谢谢你! 问题答案: 这可能

  • 问题内容: 我正在尝试检查文本字段何时更改,也等同于用于textView的功能- 到目前为止,我已经做到了: 哪种方法有效,但是只要在按下文本字段时就启用,我希望仅在实际键入文本时才启用它? 问题答案: 迅速 斯威夫特4.2 和 SWIFT 3和Swift 4.1 和 SWIFT 2.2 和 目标C 和textFieldDidChange方法是

  • 问题内容: 我是新手。每当此字段发生“更改”时,我都试图从HTML“文件”字段中读取上载的文件路径。如果我使用“ onChange”,则可以使用,但是当我使用“ ng- change”以角度的方式使用时,则无法使用。 fileNameChaged() 从不调用。Firebug也不会显示任何错误。 问题答案: 不支持文件上传控件 https://github.com/angular/angular.