Как определить метод CoffeeScript в Haml с помощью тега ": coffeescript" - PullRequest
0 голосов
/ 18 февраля 2020

Я работаю с Rails и CoffeeScript, и мне нужно определить и вызвать функцию в файле Haml под тегом :coffeescript.

Я пытался использовать этот код, но он генерирует "undefined tabsOnLoadMethod "ошибка:

:coffeescript
  $ ->
    tabsOnLoadMethod ->
      alert 'hello team'

Я вызвал метод, используя tabsOnLoadMethod();.

ошибка:

ReferenceError: tabsOnLoadMethod is not defined

Где это происходит?

1 Ответ

0 голосов
/ 20 февраля 2020
tabsOnLoadMethod ->
  alert 'hello team'

скомпилировано в

tabsOnLoadMethod(function() {
  return alert('hello team');
});

Я думаю, что вы пытаетесь вызвать функцию и передать ей другую функцию / обратный вызов

tabsOnLoadMethod = ->
  alert 'hello team'

Если вы хотите вызвать это метод через html (например, прослушиватель onclick), затем вам нужно будет прикрепить его к this (используя @) или window

@tabsOnLoadMethod = ->
  alert 'hello team'

или

window.tabsOnLoadMethod = ->
  alert 'hello team'
...