Вернуть виджет 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(...)
будет:
- Создать новый пустой объект
- Передайте этот новый пустой объект как
this
к функции - Функция затем может изменить
this
по мере необходимости (contructor
добавит методы иchartData
вthis
) - Если нет явного
return
заявления - модифицированныеthis
объект будет возвращен.
В случае CoffeeScript - лучше оставить все как есть: вернуть объект из диаграммы "class" (имейте в виду, что для удобства "class" здесь просто вычурное имя) и создать виджет, как вы это делали в поле объекта,