Почему мои функции 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>