Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Meteor和CoffeeScript:无法调用方法';助手';未定义的_Javascript_Coffeescript_Meteor - Fatal编程技术网

Javascript Meteor和CoffeeScript:无法调用方法';助手';未定义的

Javascript Meteor和CoffeeScript:无法调用方法';助手';未定义的,javascript,coffeescript,meteor,Javascript,Coffeescript,Meteor,我刚刚为Meteor设置了CoffeeScript(我也在使用Jade),似乎我的助手(渲染和事件函数)不再工作了 Template.signIn.helpers showForgotPassword: () -> return Session.get('showForgotPassword') 代码似乎正确生成,但包含在匿名函数中 我在web控制台中遇到以下错误: Uncaught TypeError: Cannot call method 'helpers'

我刚刚为Meteor设置了CoffeeScript(我也在使用Jade),似乎我的助手(渲染和事件函数)不再工作了

Template.signIn.helpers
    showForgotPassword: () ->
        return Session.get('showForgotPassword')
代码似乎正确生成,但包含在匿名函数中

我在web控制台中遇到以下错误:

Uncaught TypeError: Cannot call method 'helpers' of undefined (account.coffee:12)
我想知道代码是在页面完全加载之前运行的,还是由于其他原因。我也尝试过这一点,但没有任何改变(尽管在这种情况下似乎有效):


当我用Meteor.startup包装我的代码时,这个问题得到了修复(请参阅)


。为了防止这种情况发生,您可以在jade文件前面加上u.

谢谢您的伟大指针@Julien

几个小时前我遇到了这个问题,从那以后我就一直在发疯

我没有采用这种方法,而是将我的jade文件命名为.html.jade,将我的coffeescript文件命名为.js.coffee

这样,翡翠文件在咖啡文件和一切工作之前就被加载了

这种方法的优点是相关的jade和coffee文件放在一起


希望这有帮助。

我认为这在meteor jade v0.2.2中已经解决了

不幸的是,我们必须玩所有这些游戏才能让jade工作。我怀疑在新的渲染引擎稳定之后,添加适当的jade支持会容易得多。现在,我坚持我的cakefile解决方案。
root = global ? window

root.Template.signIn.helpers
    showForgotPassword: () ->
        return Session.get('showForgotPassword')