我正在尝试使用 Javascript 实现模块设计模式。
我遇到的主要问题之一是模块是否应该呈现自己,或者它如何知道它所控制的 HTML 元素。从我读过的内容来看,一个模块应该完全封装,这让我问 - 是否应该将选择器传递给模块以指定它用于哪个 DOM 元素,或者模块是否应该输出自己的标记以确保完全控制。
我对这些设计模式的主要问题之一是我的大脑不会让我真正编写代码,除非我觉得我正在 100% 正确地实现模式......
我正在尝试使用 Javascript 实现模块设计模式。
我遇到的主要问题之一是模块是否应该呈现自己,或者它如何知道它所控制的 HTML 元素。从我读过的内容来看,一个模块应该完全封装,这让我问 - 是否应该将选择器传递给模块以指定它用于哪个 DOM 元素,或者模块是否应该输出自己的标记以确保完全控制。
我对这些设计模式的主要问题之一是我的大脑不会让我真正编写代码,除非我觉得我正在 100% 正确地实现模式......
没有绝对正确的书写方式。它不仅是背面和白色,而且在大多数情况下取决于具体情况。我不知道你的项目,但我建议让事情尽可能灵活。如果您在模块内部创建 DOM 元素,这意味着它将负责另一件事,这违反了单一职责原则。此外,将模板操作置于 javascript 逻辑之外也是一个好习惯。当然,不要害怕写一些东西,即使它看起来对你来说是错误的。一旦您的模块工作,您将能够发现问题。