Использование wirejs с плагинами jQuery

У меня есть плагин jQuery, скажем "myPlugin", который я использую следующим образом:

  • Если мой DOM содержит:

    <div id="some-element">Nothing special here</div>
    
  • Я назову свой плагин на div:

    $('#some-element').myPlugin();
    
  • Это заставит плагин делать свои вещи, которые приведут (например):

    <div id="some-element">Something happened here</div>
    

Я пытаюсь выяснить, можно ли использовать этот плагин как компонент в спецификации wirejs, как в примере ниже (за исключением того, что я не использую onDom):

define({
    myPluginComponent: {
        create: {
            module: 'myPlugin',
            onDom: '#some-element'
        }
    }
});

Я думаю, что некоторые люди уже пытались использовать wirejs с плагинами jQuery. Может кто-нибудь поделится примером или какой-нибудь документацией по нему?

1 ответ

Решение

Если ваш плагин следует шаблону, похожему на виджеты jQuery UI, то вы можете использовать плагин wire/jquery/ui. Этот плагин учитывает уникальный способ, которым плагины jQuery "конструируют" экземпляры и устанавливают / получают свойства.

Из документов я придумал это:

define({
    myPluginComponent: {
        widget: {
            type: 'myPlugin',
            node: { $ref: 'dom!some-element' }
        }
    },
    $plugins: ['wire/jquery/ui', 'wire/jquery/dom']
});

"myPlugin" - это имя вашего свойства плагина на $.fn, Если ваш плагин принимает параметры конфигурации, вы можете предоставить их как options собственность рядом с node имущество.

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