使用带有jQuery插件的wirejs

时间:2013-12-02 20:13:08

标签: javascript jquery wirejs

我有一个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'
        }
    }
});

我想有些人已经尝试过使用带有jQuery插件的wirejs。有人可以分享一个例子或一些文件吗?

1 个答案:

答案 0 :(得分:1)

如果您的插件遵循与jQuery UI小部件类似的模式,那么您可以使用'wire / jquery / ui'插件。这个插件解释了jQuery插件“构造”实例和设置/获取属性的独特方式。

docs,我想出了这个:

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

“myPlugin”是$.fn上插件属性的名称。如果您的插件采用配置选项,则可以将options属性与node属性一起提供。