起初我想注意我是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。”。 为什么有趣的是未定义?
答案 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