/ / Warum sind meine Coffeescript-Funktionen nicht in meinem HTML-Code verfügbar? - Ruby-on-Rails-3, Umfang, Kaffeescript, Eiskaffee-Script, Kaffeescript-Ressourcen

Warum sind meine coffeescript-Funktionen nicht in meinem HTML-Code verfügbar? - Ruby-on-Rails-3, Scope, Kaffeescript, Eiskaffeescript, Coffeeshield-Ressourcen

Ich verwende Schienen-Backbone, Kaffeescript-Edelsteine ​​in meinem Schienenprojekt 3.2.6.

square = (x) -> x * x alert square(5)

Dies ist die blog.js.coffee-Skriptdatei, die es erzeugt:

(function() { var square; square = function(x) {return x * x;}; alert(square(5));

Ich muss das anrufen square() Methode in einer anderen Ansichtsdatei.

Wie kann ich das anrufen? Gibt es etwas, was ich falsch mache?

Antworten:

2 für die Antwort № 1

Der gesamte Code in Coffeescript befindet sich in einer anonymen Funktion, die selbst aufgerufen wird.

Um es außerhalb einer Datei aufzurufen, schreiben Sie einfach:

window.square = (x) -> x * x

alert(square(5)) in einer anderen Funktion

Am besten können Sie ein Fenster nicht übermäßig nutzen, indem Sie ein App-Objekt verwenden, das alle Ihre Variablen enthält.

window.App={}
window.App.square=  (x) -> x * x

und dann alert(App.square(5))


-1 für die Antwort № 2

Nennen Sie es wie eine normale JavaScript-Funktion:

<script>
square(5)
</script>