【问题标题】:Javascript Variables in Rails AssetsRails 资产中的 Javascript 变量
【发布时间】:2015-06-08 16:39:59
【问题描述】:

我有一个 Rails 4 应用程序。我在app/assets/javascripts/a.js 中定义了一个变量var a = 1。然后我想在app/assets/javascripts/b.js 中使用那个变量,但是每当我在b.js 中使用a 时,它都会说它是未定义的。为什么? 谢谢。

【问题讨论】:

  • 如果您查看您的页面源代码,这两个文件是按什么顺序包含的?假设两者都被合并到您的 application.js 中,我将通过浏览器的“查看源代码”选项打开该文档,并确保在“b.js”中引用它之前确实定义了“a”。

标签: javascript ruby-on-rails ruby-on-rails-4 asset-pipeline assets


【解决方案1】:

确保在 b.js 之前需要 a.js:

//= require a
//= require b

如果使用 require_tree . 文件,则需要按字母顺序排列(在您的示例中有效:a、b)

编辑:之前没有注意到,但@ConnorCMcKee 在我之前的评论中回答了。

【讨论】:

【解决方案2】:

正如@leito 所说,您的变量是本地变量,需要声明为全局变量

使用window.classie 代替var classie

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 2013-12-02
    • 2014-02-21
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 2023-04-02
    • 2014-01-07
    • 2023-03-10
    相关资源
    最近更新 更多