【发布时间】:2019-04-01 08:32:14
【问题描述】:
在处理 AngularJS、Angular 和 React 等 JS 框架时,我观察到不鼓励直接与 DOM 交互,如果忽略警告,通常会导致错误。当我说“与 DOM 交互”时,我的意思是使用 document.getElementById('myElement') 和类似的方法来执行一些操作或从文档中读取值。
我的问题本质上是为什么?。这是一个虚拟 DOM 问题吗,其中 React(例如)没有跟踪实际 DOM,因此如果您“自行”进行更改而不通知 React 并随后更新虚拟 DOM,您会措手不及吗?在这种情况下,Angular 会不会有同样的问题?
如果有人只了解一个特定的框架,我会非常有兴趣阅读我的问题的答案,即使它不是一概而论的。显然,我要再去谷歌搜索一下,但我还没有在这里看到类似的问题,所以我想我会为后代发帖。提前感谢您提供任何见解!
【问题讨论】:
-
我不知道 Model-View-* 架构在这里有多相关,但本质上将 DOM 树视为视图 - 您不能直接从其外部的任何内容操作视图。 (鉴于这些框架抽象了视图本身,因此可以肯定地假设您也不编写任何自己的视图代码。)
标签: javascript angular reactjs dom web-frameworks