Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将全局Meteor变量传递给模板并访问和使用它们?_Javascript_Meteor - Fatal编程技术网

Javascript 如何将全局Meteor变量传递给模板并访问和使用它们?

Javascript 如何将全局Meteor变量传递给模板并访问和使用它们?,javascript,meteor,Javascript,Meteor,我正在做一个模拟股票市场的小型SPA游戏。影响价格和行为的变量很多,但归根结底,核心是一组有限的变量,这些变量适用于游戏的所有内容。这就是为什么我要全局存储这些值 所以,我不知道如何将这些全局变量引入模板以便使用它们。我已经在下面展示了我做这件事的黑客方式,它是可行的,但不推荐使用。我已经阅读了文档,但找不到明确说明如何正确执行此操作的地方。以下是我得到的: client/accounts.js if (Meteor.isClient) { Template.bankAccounts.BA

我正在做一个模拟股票市场的小型SPA游戏。影响价格和行为的变量很多,但归根结底,核心是一组有限的变量,这些变量适用于游戏的所有内容。这就是为什么我要全局存储这些值

所以,我不知道如何将这些全局变量引入模板以便使用它们。我已经在下面展示了我做这件事的黑客方式,它是可行的,但不推荐使用。我已经阅读了文档,但找不到明确说明如何正确执行此操作的地方。以下是我得到的:

client/accounts.js

if (Meteor.isClient) {

  Template.bankAccounts.BANK_ACCOUNTS = function(){
    return BANK_ACCOUNTS;
  }

}
BANK_ACCOUNTS = {
    trading: 100,
    offshore: 200,
    loan: 300,
    holdingsValue: 4000,
    netWorth: 0
}
客户端/rogue.html(这是基本html页面)

另外,一旦它们被正确加载,当使用按钮单击事件时,访问它们的语法是什么?感谢您的帮助

谢谢
Tom

如果你想为你的应用程序的全局设置一个合理且不混乱的结构,我强烈建议你阅读以下文章:


我想这就是您所要寻找的。

只需创建一个全局帮助器,以配合您的全局变量:

Template.registerHelper('BANK_ACCOUNTS',function(){
  return BANK_ACCOUNTS;
});

然后,您可以在任何模板中使用
{{BANK\u ACCOUNTS.key}}

您是否希望在多个模板中使用一组全局变量,这些变量可以更改,特定于每个用户,并且不需要持久化?如果没有,纠正我评论中的错误,我会给你一个答案。嗨,米歇尔,谢谢你!从结构上来说,是否有一个文件是最好的?只要把它放在
/client
中,你就是don。效果很好。谢谢。嗨,米歇尔,你知道在按钮点击事件的上下文中使用这些变量的语法是什么吗?
BANK\u ACCOUNTS
只是一个javascript全局变量,你可以像其他全局变量一样在事件处理程序中使用它。
Template.registerHelper('BANK_ACCOUNTS',function(){
  return BANK_ACCOUNTS;
});