找不到在 app/assets/javascript 中创建的 CoffeeScript 函数
Posted
技术标签:
【中文标题】找不到在 app/assets/javascript 中创建的 CoffeeScript 函数【英文标题】:CoffeeScript function created in app/assets/javascript not found 【发布时间】:2012-07-12 22:11:39 【问题描述】:在我的 CoffeeScript 文件中,clients.js.coffee
,
myFunction = (variable) ->
我在app/assets/javascript
的 CoffeeScript 中创建了一个函数。但是当我尝试调用该函数时,控制台会显示一个错误,提示找不到函数。
我检查了页面的来源,它显示脚本已加载:
<script src="/assets/clients.js?body=1" type="text/javascript"></script>
这是在脚本源中找到的:
(function()
var myFunction;
myFunction = function(variable)
).call(this);
知道我错过了什么吗?调用函数应该怎么做?
【问题讨论】:
您在匿名函数范围内创建了一个函数。所以外面是看不到的 Why is this happening to my CoffeeScript? 的可能重复项 如何在 Rails 中解决它?谢谢 【参考方案1】:要使其可以从外部访问,您只需在前面添加一个“@”即可。 这会将函数附加到窗口对象。
@myFunction = (variable) ->
【讨论】:
节省了我的时间。谢谢【参考方案2】:绑定到窗口
myFunction = (variable) ->
alert('zzzzzzzz')
window.myFunction = myFunction
【讨论】:
这里还有一个截屏视频,可能会有所帮助 - house9.blogspot.com/2011/05/rails-31-javascript-execution.html以上是关于找不到在 app/assets/javascript 中创建的 CoffeeScript 函数的主要内容,如果未能解决你的问题,请参考以下文章