【发布时间】:2021-12-06 11:22:40
【问题描述】:
我正在使用 Nodejs 和 Vuejs 3 创建一个应用程序。在这个应用程序中,我制作了一个侧边栏,可以从路由文件中获取所有链接并呈现它们。此侧边栏包含一个组件,该组件是其他递归链接组件列表的父级。
由于链接是递归的而且很多,我发现很难处理每个链接的类切换(活动、显示、折叠等)并将它们相互关联(如果一个是活动的,其他的不应该是)仅使用 Vue。 我应该使用 querySelector 或任何框架(如 JQuery)来处理它们,还是应该尝试坚持使用纯 Vuejs 方法?
编辑:我不想收集社区对此的意见。我的目标是务实地理解为什么我应该或不应该在 Vue 的“外部”操作 DOM。
【问题讨论】:
-
坚持一个框架
-
查看可能有帮助的类绑定问题:stackoverflow.com/q/33731939/3462319
-
添加到@DanielBeck 的评论中,Vue 内部使用了 ShadowDOM,因此您对 jQuery 所做的一切都不会反映在那里,并且可能会在 Vue 重新渲染组件时丢失。
-
@Thomas 你可能指的是虚拟 DOM。
-
反过来,使用您当前使用的框架 (Vue) 执行此操作应该是首选,并且没有足够的理由考虑其他选项 (jQuery)。你对 Vue 不够自信不应该被认为是一个正当的理由,因为它是一个捷径。这并没有解释做你想做的事情到底有什么问题(但有几个原因是错误的),但在这个决定中提供了一个合理的观点。
标签: javascript vue.js dom vuejs3