0

我在 ClassModel.js 中定义了一个流星方法,它位于 /server 中。在客户端 js 文件上,我设置了一个模板事件,试图调用此函数,但该函数不断抛出 ReferenceError 并且未定义。知道为什么吗?

代码:

客户端/client.js

Template.class_disc.events({
  'click .pick_class': function (event) {
    event.preventDefault();
    var id = $(event.currentTarget).parent('div')[0].id;
    var explo = id.split("\"");
    var id = explo[0];
    Meteor.call(findClassByID, id, function(err, res) {
      console.log(res.content);

    });
});

/server/classModel.js

Meteor.methods({
  findClassByID: function(id) {
    console.log('in findclassbyid')
    return Classes.find({ _id: id }).fetch();
  }
});

问题可能是我在不同的服务器文件中有多个 Meteor.methods({}) 声明吗?帮助将不胜感激。

我主要只需要查看 Classes 集合并验证我在数据库中提取的 ID 是否与数据库中的一些匹配,以便保持理智。是否还有一种方法可以向客户端查询/发布整个类数据库,以便我可以在控制台中查询它?

4

1 回答 1

0

大声笑哇,这原来是一个语法错误。调用 Meteor.methods 时,方法名需要加引号!

Meteor.call("methodName", args, callback);

于 2015-11-23T19:08:50.287 回答