Вернуть виджет jquery-ui из функции

У меня есть требование, в котором мне нужно вернуть экземпляр виджета из метода класса coffeescript.

class Chart
    constructor: (@chartData) ->
    getChartType: ->
        @chartData.type
    getChartTitle: ->
        @chartData.title
    getChart: (context,ClickCallback) ->
        #Need to create a chart widget instance and return

Из вызывающей функции я просто хочу сделать что-то вроде этого

Chart c = new Chart(data)
object = c.getChart(@,@._onSeriesClick)
@.element.object()

Я делаю это правильно? Можно ли вернуть виджет из функции или мне нужно передать элемент и инициализировать виджет в моем классе coffeescript?

1 ответ

При вызове любой функции как new func(...) будет:

  1. Создать новый пустой объект
  2. Передайте этот новый пустой объект как this к функции
  3. Функция затем может изменить this по мере необходимости (contructor добавит методы и chartData в this)
  4. Если нет явного return заявления - модифицированные this объект будет возвращен.

В случае CoffeeScript - лучше оставить все как есть: вернуть объект из диаграммы "class" (имейте в виду, что для удобства "class" здесь просто вычурное имя) и создать виджет, как вы это делали в поле объекта,

Другие вопросы по тегам