当前位置: 首页 > 面试题库 >

流星中的全局变量

柳豪
2023-03-14
问题内容

我有

var Schemas = {};

Meteor.isClient && Template.registerHelper("Schemas", Schemas);

Schemas.Person = new SimpleSchema({
  fullName: {
    type: String,
    index: 1,
    optional: true,
  },
  email: {
    type: String,
    optional: true
  },
  address: {
    type: String,
    optional: true
  },
  isActive: {
    type: Boolean,
  },
  age: {
    type: Number,
    optional: true
  }
});

在一个文件中

var Collections = {};

Meteor.isClient && Template.registerHelper("Collections", Collections);

Persons = Collections.Persons = new Mongo.Collection("Persons");
Persons.attachSchema(Schemas.Person);

在另一个文件中。

我得到了错误ReferenceError: Schemas is not defined。很明显,我必须Schemascollections.js文件中定义而不是将它们分开。但是Meteor如何处理单独文件中的代码?我可以访问某些对象和变量,而另一些则无法访问。


问题答案:

当您以经典的JavaScript方式定义变量时:

var someVar = 'someValue';

.js文件的根目录,Meteor使用IIFE将其范围限定为文件。

如果要定义全局变量,只需不要编写var,就可以了:

someVar = 'someValue';

这将定义默认情况下,所有应用程序中的变量,虽然你可以通过写在该html" target="_blank">声明限制其特定的认可文件夹(clientserver例如文件夹)。

但是,不会首先绝对定义此变量。当Meteor运行定义它的实际代码时,将定义它。因此,这可能不是最佳实践,因为您将难以处理加载顺序,这将使您的代码取决于Meteor加载文件的方式:将文件放入哪个文件夹,文件名…如果稍微触摸一下体系结构,则代码很容易出现混乱的错误。



 类似资料:
  • 本文向大家介绍Lua中的全局变量、非全局变量总结,包括了Lua中的全局变量、非全局变量总结的使用技巧和注意事项,需要的朋友参考一下 前言 Lua将其所有的全局变量保存在一个常规的table中,这个table称为“环境”。这种组织结构的优点在于,其一,不需要再为全局变量创造一种新的数据结构,因此简化了Lua的内部实现;另一个优点是,可以像其他table一样操作这个table。为了便于实施这种操作,L

  • 我在用流星做一个消息应用程序。出于安全原因,我禁用了从客户端调用的任何插入/更新/删除。现在插入消息的唯一方法是使用方法。 如果是这种情况,我将不得不在函数上包含额外的参数,这将使它更加不安全。 我可能不明白这里的方法。

  • 问题内容: 如何在Java中定义全局变量? 问题答案: 要定义全局变量,你可以使用静态关键字 现在你可以通过调用从任何地方访问a和b

  • 我想使用大小为2的FIFO队列来存储数据流的元素。在任何情况下,我都需要流中的前一个元素,而不是当前元素。为此,我在流代码之外创建了一个队列,并将当前元素加入队列。当我的队列有两个元素时,我将其出列并使用第一个元素。 我面临的问题是,我不能加入队列,因为它是在我的流代码之外声明的。我想这是因为流使用多个JVM,我的队列将在一个JVM中声明。 下面是一个示例代码: 在这里,没有任何东西进入队列,队列

  • 问题内容: 假设我想创建一个sql脚本并执行以下操作: 我不能,因为@SomeVariable与他所属的批次一起死亡,而myProcedure需要它自己的批次。显然,我可以创建一个#temp表并在其中填充所需的任何值,但随后我必须从中选择- 添加代码,尽管琐碎,但会损害可读性,并且当我需要的只是一个全局变量时似乎很愚蠢。有没有更好的办法? 要痛苦地清除。我知道SQL Server具有称为“表”的“

  • 问题内容: 我在控制器的作用域上初始化变量时遇到问题。然后,当用户登录时,它将在另一个控制器中进行更改。此变量用于控制诸如导航栏之类的操作,并根据用户的类型来限制对网站某些部分的访问,因此保持其值很重要。它的问题是初始化它的控制器,再次通过某种方式被调用,然后将变量重置为其初始值。 我认为这不是声明和初始化全局变量的正确方法,也不是真正的全局变量,所以我的问题是什么是正确的方法,并且在使用当前版本