我读了一些文章来了解AngularJS的工作原理。
我不明白的一个术语是脏检查。
这到底是什么?看起来像观察者模式,但显然更好。
你能帮我理解这个吗?
编辑:对于那些想了解更多信息的人来说,几年前在NgEurope观看swiip的这段视频也很有用。
什么是脏检查?
检查每个手表以检测变化的过程称为脏检查。可能有两种情况
首先–
第二-
在第二种情况下,循环将继续,直到在整个循环中没有发现任何更改为止。一旦完成,DOM将根据需要进行更新。
角脏检查机制工作流程。
脏检查是一个简单的过程,归结为一个非常基本的概念:它检查一个值是否已更改但尚未在应用程序中同步。
我们的Angular应用程序会跟踪当前手表的值。Angular沿着$watch列表向下移动,如果更新的值与旧值没有变化,它会继续沿着列表向下移动。如果值发生变化,应用程序会记录新值并继续沿着$watch列表向下移动。
在这里查看整篇文章
通过此链接:
Angular定义了一个所谓的摘要循环的概念。这个循环可以被认为是一个循环,在此期间Angular检查所有$范围监视的所有变量是否有任何更改。因此,如果您在控制器中定义了$scope.myVar并且该变量被标记为被监视,那么您就是明确告诉Angular在循环的每次迭代中监视myVar上的更改。
这种“摘要”也称为“脏检查”,因为它在某种程度上扫描范围以查找更改。我不能说这是好还是坏,比可观察到的模式。这取决于你的需要。
一些链接:
角留档
- 一篇关于Angular范围的博客文章
问题内容: 我正在阅读一些文章,以进一步了解AngularJS的工作原理。 我不理解的术语之一是。 究竟是什么?看起来像观察者模式,但显然更好。 你能帮我理解吗? 编辑:它也可以对谁想要了解更多有关观看的人有用的这段视频从swiip在NgEurope一些年前。 问题答案: Angular定义了所谓的摘要循环的概念。此循环可以视为一个循环,在此循环中Angular检查所有$ scope监视的所有变量
我们将创建一个简单的来显示一个电影的信息。 这个应用程序将只包含两个组件:MovieComponent显示有关电影的信息和MainComponent,它使用按钮来保存对电影的引用以执行一些动作。 我们的AppComponent组件将有三个属性:应用程序的slogan,电影的title(标题)和(主角)。 最后两个属性将被传递到模板中引用的MovieComponent元素。 在上面的代码片段中,我们
问题内容: 这似乎是一个愚蠢的问题,但是我需要知道如何监视页面的整个DOM并在页面发生任何变化时重新对其进行编译。本质上,这是AngularJS在默认情况下通过使用数据绑定来执行的操作,但是我需要在DOM中的任何内容发生变化时(不仅是绑定)发生这种情况。原因是因为我有一个完全用HTML,Javascript和PHP构建的应用程序。它是一个单页应用程序,具有一个主页,并将PHP注入该页面内的DIV包
我有一个服务,说: 我想使用foo来控制以HTML呈现的列表: 以便控制器检测何时维修。foo更新了,我拼凑了这个模式,将服务添加到控制器的
问题内容: 我想知道如何检查变量是否是类(不是实例!)。 我试图使用该函数来执行此操作,但我不知道类将具有哪种类型。 例如,在以下代码中 我试图用 ??? 代替“ ” ,但我意识到这是python中的关键字。 问题答案: 更好的是:使用该功能。
我想知道是否有一种方法可以检查变量是否已经初始化。例如: