【问题标题】:Call function from different coffeescript file in rails从rails中的不同coffeescript文件调用函数
【发布时间】:2016-03-05 17:30:28
【问题描述】:

votable.coffee:

set_votable_hooks = (vote_area_name) ->
  ...

questions.coffee:

vote_area_name = 'xyz'
$(document).ready(set_votable_hooks(vote_area_name))

我希望在文档准备好时调用函数。我知道每个咖啡文件都放在一个函数中,因此它的内容在其他文件中不可用。我读过该解决方案是使 set_votable_hooks 全局或使用命名空间,无法管理它们工作,因为我是 js 新手。但据我了解,首选的解决方案是使用命名空间以免污染全局对象。

【问题讨论】:

    标签: javascript jquery ruby-on-rails coffeescript


    【解决方案1】:

    发现,首先我的错误是分配给带有参数的回调函数,所以我最终得到:

    votable.coffee:

    window.Votable ?= {}
    
    window.Votable.set_votable_hooks = (vote_area_name) ->
      ...
    

    questions.coffee:

    load_votable = ->
      window.Votable.set_votable_hooks('.question-vote-area')
    
    $(document).ready(load_votable)
    

    并重新定义了在 application.js 中包含的咖啡文件:

    ...
    //= require votable
    //= require_tree .
    ...
    

    投票前页面上不包含最后一步问题

    【讨论】:

      猜你喜欢
      • 2013-06-20
      • 2015-08-24
      • 1970-01-01
      • 1970-01-01
      • 2017-12-06
      • 2012-03-04
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      相关资源
      最近更新 更多