0

首先,我想注意到我是 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); });

警报:错误:找不到方法 [404] 而不是“这是消息。”。为什么乐趣是不确定的?

4

2 回答 2

1

你把这个文件放在client目录里了吗?Meteor.methods必须在服务器上定义fun才能正确触发回调。

客户端版本Meteor.methods只定义了一个本地存根。

于 2013-08-01T22:05:36.813 回答
0

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

试试这个:

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

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

这是正确的(假设咖啡脚本在客户端上工作):

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

玩 Meteor 并阅读文档

于 2013-08-01T22:07:53.183 回答