随着我的Meteor项目的发展,我添加了更多的模板,部分和帮助程序,因此很难弄清楚它的数据上下文是什么。然后我必须在帮助函数中console.log(this)
来弄清楚我正在处理的数据是什么。
是否有人有命名方案或任何其他策略来处理这个问题?
或者这个混乱只是一个标志我没有正确地模块化并且应该重构一切?
答案 0 :(得分:3)
对我来说,每个模块都有一个文件夹。每个文件夹都包含helpers.js
,events.js
," ons" (onCreated.js
,onDestroyed.js
,onRendered.js
),最后是templates.html
。如果您的项目很大,请将这些项目拆分为单个子文件夹以进行必要的CRUD操作(我有一个create
文件夹和一个update
文件夹,因为更新模板中会进行读取和删除。
我的模板名称冗长而冗长,但没错,WebStorm可以很好地猜测我想要什么。例如,如果我有一些infowindow列出了与客户关联的所有地址:clientMap
,clientMapPopup
,clientMapPopupLocationList
clientMapPopupLocationListItem
。
关于数据上下文,它通常很容易看到,因为我的助手是向上下文添加内容的助手。虽然我诚实地试图避免使用它,除非我在{{#each}}
中,因为恕我直言,像抓住祖父母的情境既不优雅也不健壮。相反,我有一个我创建的临时模块对象&破坏路线变化。
所以如果我的全局对象是Global = {}
。在onCreated
和onDestroyed
我写Global.Module = {}
然后,我可以创建我想要的所有模块范围的变量(ReactiveVars,ReactiveDicts,本地集合,基元,客户端标记对象等)。
所有这一切,做你做的事情&看着我的架构js(例如collections/clients.js
)仍然是看到你想要的最快/最轻率的方式。你现在得到了什么。