找不到在 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 函数的主要内容,如果未能解决你的问题,请参考以下文章

找不到localhostweb页面

pycharm里创建的项目在磁盘找不到

系统找不到指定路径

在计算机管理中找不到cygwin ssh服务

spi找不到对应的类

电脑开机显示找不到指定模块怎么办