【发布时间】:2018-06-16 21:37:13
【问题描述】:
采用快速原型设计方法,我正在 Marionette.js/backbone.js 中开发一个应用程序,并大量使用窗口对象将集合和视图绑定到全局堆栈(例如 window.app.data、window.app .views)。
当然,将对象封装在单个类中并在需要时将它们作为参数传递总是更好(更顺畅!)。但是,当应用程序及其潜在用例变得非常大时,这会受到一些限制。由于我处理的数据来自 API,因此任何感兴趣的人都可以访问,这是否证明将数据存储在窗口对象中是合理的?或者在 ES6(或特别是 Marionette.js)中是否有其他最佳实践来实现相同的结果,但以更私密的方式?!
【问题讨论】:
-
避免污染全局
window对象的一种方法是创建一个namespace for your app。 -
好吧,我还没有找到与 Browserify/AMD-modules 很好地集成的基于名称空间的解决方案(这将是只读的,不是吗?!)。另外,我不想将对象附加到命名空间,而是附加实际实例,以便我可以读取和写入已获取的数据。
标签: javascript backbone.js marionette