看守所什么? 有效地观察DOM元素(或其子元素)的变化,尤其是在Angular项目中。

为什么? 默认情况下,Angular的$watch只监控$scope上的属性变化,这是Angular应用程序中一种常用的模式。然而,有时你希望模块间的耦合度较低,而此时DOM本身成为事实的来源。因此,直接观察DOM变化可能更适合这些情况。

如何? 通过watchDom.$watch(DOMElement, function(newValue, oldValue) {...})可以直接监控DOM元素。可以通过传入自定义属性来调整观察行为,例如设置属性subtreetrue或使用attributeFilter指定要观察的属性。示例代码如下:


var props = { subtree: true, attributeFilter: ['bar', 'bar'] };

watchDom.$watch(DOMElement, function(newValue, oldValue) {

  // 自定义观察逻辑

});

小提示:正确配置观察选项,确保高效利用浏览器资源。