Почему мои функции coffeescript недоступны из моего HTML-кода?

Я использую rails-backbone, самоцветы coffeescript в моем проекте rails 3.2.6.

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

это файл сценария blog.js.coffee, который он создает:

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

Мне нужно позвонить square() метод в другом файле просмотра.

Как я могу это назвать? Что-то не так я делаю?

2 ответа

Решение

Весь ваш код в Coffeescript будет внутри вызывающей себя анонимной функции.

Чтобы вызвать его вне файла, просто напишите:

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

alert(square(5)) в другой функции

Лучшее, что вы можете сделать, чтобы не злоупотреблять окном, - это объект App, который будет содержать все ваши переменные.

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

а потом alert(App.square(5))

Назовите это как обычную функцию JavaScript:

<script>    
  square(5)
</script>
Другие вопросы по тегам