对角度的脏检查

mfr*_*het 53 javascript observer-pattern angularjs

我正在阅读一些文章,以了解更多angular.js的工作原理.

我不理解的一个术语是" 脏检查 ".

究竟是什么?它似乎是一个观察者模式,但显然它更好.

你能帮我理解一下吗?

提前致谢.

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

lan*_*nte 55

这个链接:

Angular定义了一个所谓的摘要周期的概念.这个循环可以被认为是一个循环,在此过程中Angular会检查所有$ scope监视的所有变量是否有任何变化.因此,如果您在控制器中定义了$ scope.myVar并且此变量已标记为正在观察,那么您明确告诉Angular在循环的每次迭代中监视myVar上的更改.

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

一些链接:


flu*_*man 19

角度脏检查机制工作流程.

在此输入图像描述

脏检查是一个简单的过程,归结为一个非常基本的概念:它检查是否已更改尚未在应用程序中同步的值.

我们的Angular应用程序会跟踪当前手表的值.Angular在$ watch列表中向下走,如果更新的值没有从旧值更改,它将继续沿着列表继续.如果值已更改,则应用程序会记录新值并继续按下$ watch列表.

在这里查看整篇文章


小智 7

什么是脏检查?

检查每个手表以检测更改的过程称为脏检查.可能有两种情况

第一 -

  1. 从列表中获取手表
  2. 检查项目是否已更改
  3. 如果项目没有变化那么
  4. 不采取任何行动,转移到监视列表中的下一个项目

第二-

  1. 从列表中获取手表
  2. 检查项目是否已更改
  3. 如果项目中有更改
  4. DOM需要更新,返回到摘要循环

在第二种情况下,循环继续直到它在整个循环中没有发现任何变化.一旦完成,DOM将根据需要进行更新.