4

我正在做一个流星应用程序。我在客户端文件夹内的 main.js 文件中定义了集合变量。在同一位置还有 templates.js 文件。Template.myTemplate.rendered = function() {}; 在 templates.js 文件中定义。我可以访问渲染部分内的集合变量,但它在它之外不可用。

如何才能访问“渲染”部分之外的集合变量?

main.js 内部

collectionVariable = new Meteor.Collection('collection_name');

在 templates.js 中

console.log(collectionVariable); // getting "Uncaught ReferenceError: collectionVariable is not defined" here.

Template.myTemplate.rendered = function() {

  //Some code. Can access the variable here.

};

谢谢

4

1 回答 1

4

请记住文件加载顺序。在您的情况下,它似乎templates.js是之前加载的,因此它不是由评估时间定义的。如果您想确保可以在文件正文中使用变量,请使用:main.jscollectionVariableMeteor.startup

var localVariable;

Meteor.startup(function(){
  localVariable = collectionVariable;
  console.log(collectionVariable);
});
于 2013-09-23T10:49:56.090 回答