【问题标题】:How can I call a concrete Coffeecript function from html如何从 html 调用具体的 Coffeecript 函数
【发布时间】:2013-12-07 11:24:30
【问题描述】:

我有一个在前端使用 HTML 和 Coffeescript 的应用程序。多亏了 i18next,我最近才可以更改语言。

现在我有一些按钮可以将我的 window.userLang 更改为不同的语言,但用户必须刷新应用程序的某些元素才能看到它的翻译。

我的问题来了,因为我需要在不刷新 HTML 的情况下进行翻译。

在应用程序中,我使用 Craftyjs,所以我需要知道的是如何(如果可能)从 HTML 文件中调用它在 Craftyjs 中定义的函数。

我要调用的函数是:Crafty.scene("main")

谢谢大家!

【问题讨论】:

  • Coffeescript 通常将你所有的 JS 放在一个匿名函数中。如果这是问题所在,您应该将Crafty 设置为一个全局变量,以便您可以从任何地方调用它。
  • 好的,如果您的回答与您刚才告诉我的相同,我会将其标记为正确。刚试了你说的,它奏效了(太简单了,我看不到它U_U¿)
  • 阅读手册的Lexical Scope 部分可能会有用。

标签: javascript html coffeescript craftyjs


【解决方案1】:

创建上面定义的全局名称空间,其中包含您的脚本。然后在您的 javascript 中,您可以将所需的函数定义为该命名空间上的字段。

<script>
  var MySweetWebApp = {};
</script>
<script src="..."></script>

...里面的JS文件....

MySweetWebApp.Crafty = { ... }

...从任何地方...

MySweetWebApp.Crafty.scene('main');

【讨论】:

    猜你喜欢
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2021-01-11
    • 2013-07-17
    相关资源
    最近更新 更多