Meteor:来自Meteor.methods的调用函数

时间:2013-08-01 21:08:20

标签: methods meteor call

起初我想注意我是Meteor的初学者。我不知道为什么这段代码:

Meteor.methods =
  fun: ->
    "This is message."

if Meteor.isClient
  Template.hello.greeting = ->
    "Welcome to FirstApp."

  Template.hello.events =
    "click input": ->
       console.log "You pressed the button."

在浏览器控制台中键入此行时:

Meteor.call("fun", function(err, res) { if(err) alert(err); else alert(res); });

allerts:错误:找不到方法[404]而不是“This is message。”。 为什么有趣的是未定义?

2 个答案:

答案 0 :(得分:1)

您是否将此文件放在client目录中? Meteor.methods必须在服务器上定义fun才能正确触发回调。

Meteor.methods的客户端版本仅定义本地存根。

答案 1 :(得分:0)

因为Meteor.methods不应该分配给一个函数。如果你这样做,你将只有一个功能。

请改为尝试:

if Meteor.isServer
   Meteor.methods({
      fun: ->
         "This is message."
   })

我不知道coffeescript可以在客户端上使用。但是你的定义是错误的,因为事件是一个具有多个功能的对象

这是正确的(如果coffeescript适用于客户端):

Template.hello.events({
   "click input": ->
      console.log "You pressed the button."
})

与Meteor玩得开心并阅读documentation