出于某种原因,我无法在服务器上获取该方法来执行。我没有看到"计时器已经开始"服务器上的console.log和" foo"不回来。我错过了什么?
请参阅代码:
if Meteor.isClient
console.log "client is alive and well."
Session.setDefault("duration", 1200000)
Session.setDefault("timeRemaining", 1200000)
Template.timer.helpers
duration: () ->
Session.get("duration")
timeRemaining: () ->
Session.get("timeRemaining")
Template.timer.events
'click #start': () ->
console.log "Started."
Meteor.call("startTimer", (error, result) ->
console.log "Result is #{result}")
'click #pause': () ->
console.log "Paused."
Meteor.call("pauseTimer", (error, result) ->
console.log "Result is #{result}")
'click #cancel': () ->
console.log "Cancelled."
Meteor.call("cancelTimer", (error, result) ->
console.log "Result is #{result}")
if Meteor.isServer
Meteor.startup () ->
console.log "Server is alive."
Meteor.methods
startTimer: () ->
console.log "Timer has started."
"foo"
答案 0 :(得分:0)
看起来很好。你确定你的元素有id' start'在一个名为计时器的模板中?
我使用最少的HTML将代码复制并粘贴到Meteorpad中并且可以正常工作:
http://meteorpad.com/pad/d9KLWPj6SZPDxr4Et/SO-Answer
单击“测试”按钮,您会看到计时器已在黑色控制台中启动(从服务器输出),如果您检查浏览器的控制台,则结果为foo
你是否已经开始'登录浏览器控制台?如果没有,那么你的活动就没有正确连接。