目前在我的Meteor应用程序中,我的布局文件顶部有一个布尔变量,用于跟踪用户在桌面视图中关闭菜单的情况。
var closedMenuInDesktopView = false
另外在我的应用程序的另一点上,我在顶部使用一个布尔变量来跟踪应用程序当前是否正在保存。
var saving = false
我的应用程序中的所有内容都运行正常,但我注意到Meteor应用程序中的示例,他们使用Session来跟踪应用程序中的状态变量。这样做是否更好,而不是将javascript变量放在可以保存值的文件的顶部?
答案 0 :(得分:3)
对于模板代码,我认为您有三种选择:
Session
Session
变量,但在模板被销毁后丢失状态并不在意。在我的情况下,这是大部分时间。答案 1 :(得分:1)
您使用var
声明的变量只能从该文件中访问。随着应用程序的增长,这更易于管理。
会话变量具有被动反应的优势。它们经常出现在示例中,因为它们具有干净的语法,并触发DOM更新。出于与avoid globals相同的原因,最好限制使用会话变量。
如果您不需要反应,请坚持与当地人保持联系。如果您需要一些反应变量,请使用Session
。否则,请查看Deps.Dependency
以了解如何制作自己的反应变量。