html - 为什么我们不应该将 DOM 代码与 Angular 代码混合在一起?

标签 html jquery angularjs dom

我正在设计一个主网格和子网格,通过单击主网格的一行,子网格中的数据会相应更改。为此,单击主网格的一行后,我从子 Controller 调用 reloadItmes() ,如下所示:

$("#masterTable tbody").on("click", "tr", function (event) {
    event.preventDefault();
    jQuery(this).addClass('selected').siblings().removeClass('selected');
    angular.element($('#childTable')).scope().reloadItems();
});

但是,我发现将 DOM 代码与 Angular 代码混合并不是一个好的做法,但我不知道这段代码会导致什么问题。

最佳答案

因为 Angular 范围和dom之间的冲突。 实际上它们处于不同的时间周期,将它们混合在一起并不是一个好主意。 我遇到了这个问题,最后我不得不在 Angular 中调用一个假函数来强制它读取我的 dom 更改并应用它们。这完全是一个同步问题。

因此,如果您可以将两个代码部分放入一个 Controller 中,或者全部用纯 js 完成,结果将具有更好的性能,并且更容易扩展或理解。

关于html - 为什么我们不应该将 DOM 代码与 Angular 代码混合在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70505259/

相关文章:

asp.net - 有没有办法知道是否有人为您的网站添加了书签?

JavaScript 到 jquery

javascript - Angularjs:如何应用 NOT 过滤器?

javascript - Node.js CORS session cookie 与 Angular.js

javascript - 使用 jQuery 访问动态创建的元素

javascript - .png 或 .jpg 图像在屏幕上移动,spritesheet,css 关键帧,停止并重复循环

asp.net - 缩小手机背景图像的最佳方法是什么?

Javascript 内联函数调用

angularjs - 自定义指令中的图像加载问题

html - 背景图像 url 响应图像