在SPA中制作干净的id空间有哪些常见的解决方案?

Nik*_*yev 11 javascript naming uniqueidentifier single-page-application

情况:几个开发人员在SPA的不同部分/模块上远程工作.因此,他们可能会意外地引入相同的HTML元素id.在最终组合之前,有哪些常见方法可以避免这种情况(如果可能的话,不拒绝使用id)?

我的浅见猜测:

  • 预先安排id所有的名字(有点荒谬,但......)

  • 具有架构的结构名称,例如用于app/collection/model专用的名称app-collection-model

  • id一般拒绝使用s或仅用于大型模块?

mar*_*bit 3

如果您使用不同的 ID 一次又一次地编写相同的 HTML 代码,那么您就做错了。

如今,有很多方法可以创建不需要 ID 的可重用 HTML 组件。

我认为错误的是:

对于大型项目(涉及多个团队或大量视图),我认为一遍又一遍地编写原始 HTML 不是一个好主意。

这种方法意味着:重复的代码和未来重构的痛苦(考虑在 2 年内重新设计应用程序)。这就是为什么有如此多的 UI 框架可以帮助创建可重用的组件,其中 HTML 只需编写一次并在任何地方使用。最后,您的应用程序将需要一些组件:表格、弹出窗口、表单、子菜单、选项卡......

目标是使用这些组件创建一个框架,开发人员可以使用该框架来创建视图,而无需实际编写任何 HTML 代码。

我的观点是:在大型项目中,HTML 代码应该只编写一次。显然,它被编写一次并不意味着它只能在一个地方呈现,它可以在应用程序中的任何地方。

我的建议:

数据绑定来救援!

如果不可能做出重大改变,那么惯例就是可行的方法。你提出的这个可能是有道理的,但要小心,每次你改变结构时,你的所有 ID 都会出错!