首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从rails中的不同coffeescript文件调用函数

从rails中的不同coffeescript文件调用函数
EN

Stack Overflow用户
提问于 2016-03-06 01:30:28
回答 1查看 872关注 0票数 2

votable.coffee:

代码语言:javascript
复制
set_votable_hooks = (vote_area_name) ->
  ...

questions.coffee:

代码语言:javascript
复制
vote_area_name = 'xyz'
$(document).ready(set_votable_hooks(vote_area_name))

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

EN

回答 1

Stack Overflow用户

发布于 2016-03-06 02:11:47

发现,我的第一个错误是赋值给带参数的回调函数,所以我最终得到了:

votable.coffee:

代码语言:javascript
复制
window.Votable ?= {}

window.Votable.set_votable_hooks = (vote_area_name) ->
  ...

questions.coffee:

代码语言:javascript
复制
load_votable = ->
  window.Votable.set_votable_hooks('.question-vote-area')

$(document).ready(load_votable)

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

代码语言:javascript
复制
...
//= require votable
//= require_tree .
...

在votable之前的页面上没有包含最后一步的问题

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35817367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档