你好,我希望你能帮我这个忙。 我已经尝试了两天,将Jquery Plugin与Ionic 3一起使用,但无济于事,我在项目中使用了它,如果可以的话,我会避免使用它,但是我没有时间或足够的知识来进行自定义东西。
我正在尝试创建轮盘,并且正在使用roulette.js插件,但是我不断收到来自Webpack的错误,提示 WEBPACK_IMPORTED_MODULE_2_jquery (...)。轮盘不是功能。< / p>
现在我尝试了几件事,将js文件从库转换为.ts 然后将其投射到任何一个,如下所示。我也将其添加到index.d.ts。我创建了Jquery接口,但是没有运气。有什么我想念的吗? 我安装了jquery和@ types / jquery,Jquery的工作原理类似于魅力,只有插件无法正常工作。
component.ts
ionViewDidLoad() {
((<any>$('div.roulette')) as any).roulette();
}
roulette.ts
var pluginName = 'roulette';
$.fn[pluginName] = function(method, options) {
return this.each(function() {
var self = $(this);
var roulette = self.data('plugin_' + pluginName);
if (roulette) {
if (roulette[method]) {
roulette[method](options);
} else {
console &&
console.error(
'Method ' + method + ' does not exist on jQuery.roulette'
);
}
} else {
roulette = new (Roulette(method) as any)();
roulette.init(self, method);
$(this).data('plugin_' + pluginName, roulette);
}
});
};
export { Roulette };
index.d.ts
interface Jquery {
roullete: (options:any) => void
}
答案 0 :(得分:0)
因此,经过大约一周的漫长搜索,我发现您必须将插件添加到jquery输入中
interface JQueryStatic {
pluginName: (options:any) => void
}