gpt4 book ai didi

javascript - 在 coffeescript 中调用命名函数的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-30 00:07:52 25 4
gpt4 key购买 nike

在 Rails Assets 管道中,调用命名函数的正确方法是什么?

例如,在同一个文件中调用命名函数,如下所示,似乎工作得很好。

#alerts.js.coffee
show_alert = (msg) ->
alert(msg)

$(document).ajaxComplete (event, request) ->
show_alert 'ajax completed'

但是从另一个咖啡文件调用 show_alert 不起作用

例如与 Jquery fileupload ,

#jquery_fileupload.js.coffee
jQuery ->
$("#container").fileupload
stop: (e, data) ->
show_alert 'File upload stopped'

返回 Uncaught ReferenceError: show_alert is not defined

毫无疑问,这是一个基本问题,但我希望得到一些指点。我不是 javascript/coffescript 专家,搜索显示“coffeescript 不支持命名函数”所以我可能使用了错误的术语。我应该在这里引用什么?

最佳答案

Coffeescript 执行函数表达式,而不是函数定义。所以你的 coffeescript 函数应该出现在你的函数执行代码之前。

一种方法是将您的函数放在一个对象中,并在加载文档时执行它们。

#alert.js.coffee
window.MyHelperFunctions =
show_alert: (msg) ->
alert msg


#jquery_fileupload.js.coffee
jQuery ->
$("#container").fileupload
stop: (e, data) ->
MyHelperFunctions.show_alert 'File upload stopped'

关于javascript - 在 coffeescript 中调用命名函数的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37806551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com