Я новичок в CoffeeScript, и мне нравятся классы CoffeeScript, но не могу решить, как их расширить в jQuery с помощью jQuery.prototype.Расширение jQuery с классом CoffeeScript
Это для части моего приложения, который содержит сортировки глобальных переменных состояния, поэтому я хочу, чтобы назвать это через $ .myThing.myFunction(), а не обычный $ .fn.extend/$() .myThing().
я могу заставить его работать так:
$ = jQuery
$.myThing = $.myThing || {}
$.extend $.myThing, {
myProperty: 0
myFunction: ->
}
Что это нормально, но я не могу использовать его как класс, а структура не выглядит довольно мой PyCharm. (Который, будучи честным, вероятно, беспокоит больше всего класса вещь ...)
То, что я хочу, чтобы сделать что-то вроде этого:
$ = jQuery
$.myThing = $.myThing || {}
class myThing
myProperty: 0
myFunction: ->
$.extend $.myThing, myThing()
Но это не работает (кроме глядя довольно в pycharm). Есть лучший способ сделать это?
Ближе - Я не смотрел на то, как классы компиляции. В этом случае $ .myThing возвращает прототип вместо одного экземпляра объекта, поэтому я предполагаю, что мне нужно добавить «новое» там где-то. –
Я не знал, что вы хотите, чтобы '$ .myThing' был экземпляром класса. См. Править выше. –
Не думаю, что я когда-либо понимал прототипы ... спасибо. Это прекрасно работает и даже выглядит красиво в pycharm. Кажется, я тоже могу сделать «$ .extend $ .myThing, новый myThing()». –