use*_*166 4 javascript angularjs angularjs-directive
Angular.js如何处理事件绑定,例如"ng-click"?
如果我使用Chrome Dev Tools检查DOM中的HTML输出,我只会看到2个类添加到具有"ng-click"指令的元素,"ng-scope"和"ng-binding".Angular如何绑定到DOM来拦截这些?它是否附加到最顶层的元素,并将内存映射事件中的大对象保存到它们注册的DOM元素,并使用事件冒泡?或者是其他东西?
AngularJS进行脏检查,每当AngularJS找到一个指令时,它会设置$ watch来查看更改.
$ watch列表是一组表达式,自上次迭代后可能已更改.如果检测到更改,则调用$ watch函数,该函数通常使用新值更新DOM.一旦Angular $ digest循环完成,执行就会离开Angular和JavaScript上下文.接下来是浏览器重新呈现DOM以反映任何更改.
简单来说,有一个机制可以创建一个需要绑定的指令列表,在$ digest循环中,如果浏览器重新呈现DOM并且它将被反映到更改中,则将检查列表的更改.浏览器.
这是一个非常简短的解释,你可以在这里找到更多:
http://docs.angularjs.org/guide/concepts#runtime