流星方法和CoffeeScript

时间:2014-11-27 20:33:58

标签: methods meteor coffeescript

出于某种原因,我无法在服务器上获取该方法来执行。我没有看到"计时器已经开始"服务器上的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"

1 个答案:

答案 0 :(得分:0)

看起来很好。你确定你的元素有id' start'在一个名为计时器的模板中?

我使用最少的HTML将代码复制并粘贴到Meteorpad中并且可以正常工作:

http://meteorpad.com/pad/d9KLWPj6SZPDxr4Et/SO-Answer

单击“测试”按钮,您会看到计时器已在黑色控制台中启动(从服务器输出),如果您检查浏览器的控制台,则结果为foo

你是否已经开始'登录浏览器控制台?如果没有,那么你的活动就没有正确连接。