Meteor - 如何从其他 JS 文件调用外部 class 方法?
Meteor - How to call an external class methods from other JS files?
我是流星的新手。我一直在尝试将我的流星代码编写为 "object-oriented way",因此我为我的解析器创建了一个名为 Message 的对象,并从我的 app.js 中调用了它的方法。
我想实例化对象并从我的 app.js 调用我的 Message.JS 中定义的方法?
应用结构
应用
|--app.html
|--app.js
|--app.css
|--message.js
|--.流星
message.js
var Message = {
init: function( message ){
/* Initialization function with some properties */
}
getHash: function() {
return this.hash_table;
}
parseMessage: function(input) {
/* Some Parsing logic */
return(hash_table);
}
}
app.js
if (Meteor.isServer) {
var msg = new Message.init(response);
var hash = msg.getHash();
console.log(hash);
}
用 var 声明的变量在 Meteor 中有一个文件范围,不能从其他文件中访问。
如果您声明变量时不使用 var,它将具有更大的范围并且可以在您的应用程序中看到,
Message = {
...
}
如果这不起作用,则加载顺序可能有问题。 message.js 中的代码应该在调用 app.js 中的代码之前加载。为确保它是,请将 message.js 放入 /lib 文件夹中。此文件夹中的文件总是在其他所有内容之前加载。
将 message.js 添加到名为 lib 的文件夹中,以便在 meteor 启动时首先加载它,请参阅 http://docs.meteor.com/#/full/examplefilestructure。然后从 Message 中删除 var 使其成为全局的。
我是流星的新手。我一直在尝试将我的流星代码编写为 "object-oriented way",因此我为我的解析器创建了一个名为 Message 的对象,并从我的 app.js 中调用了它的方法。
我想实例化对象并从我的 app.js 调用我的 Message.JS 中定义的方法?
应用结构
应用
|--app.html
|--app.js
|--app.css
|--message.js
|--.流星
message.js
var Message = {
init: function( message ){
/* Initialization function with some properties */
}
getHash: function() {
return this.hash_table;
}
parseMessage: function(input) {
/* Some Parsing logic */
return(hash_table);
}
}
app.js
if (Meteor.isServer) {
var msg = new Message.init(response);
var hash = msg.getHash();
console.log(hash);
}
用 var 声明的变量在 Meteor 中有一个文件范围,不能从其他文件中访问。 如果您声明变量时不使用 var,它将具有更大的范围并且可以在您的应用程序中看到,
Message = {
...
}
如果这不起作用,则加载顺序可能有问题。 message.js 中的代码应该在调用 app.js 中的代码之前加载。为确保它是,请将 message.js 放入 /lib 文件夹中。此文件夹中的文件总是在其他所有内容之前加载。
将 message.js 添加到名为 lib 的文件夹中,以便在 meteor 启动时首先加载它,请参阅 http://docs.meteor.com/#/full/examplefilestructure。然后从 Message 中删除 var 使其成为全局的。