将自定义jQuery插件用于Web包中的Angular指令
我正试图要求一个自定义jquery插件用于带有Webpack的指令元素。我开始以我期望的方式实施它将自定义jQuery插件用于Web包中的Angular指令,jquery,angularjs,plugins,webpack,require,Jquery,Angularjs,Plugins,Webpack,Require,我正试图要求一个自定义jquery插件用于带有Webpack的指令元素。我开始以我期望的方式实施它 // example.directive.js var customJQPlugin = require('./customJQPlugin.plugin'); ... link: function (scope, elem) { angular.element(elem).customJQPlugin({ some: 'options' }); } .
// example.directive.js
var customJQPlugin = require('./customJQPlugin.plugin');
...
link: function (scope, elem) {
angular.element(elem).customJQPlugin({
some: 'options'
});
}
...
这将把插件应用于元素
然后是插件文件(与指令位于同一目录中)
我的问题是,这样做的典型方式是什么,我目前有一些错误,this
未定义,customJQPlugin链接到angular.elem.customJQPlugin(选项)
这是关于如何构造jQuery插件文件的更多信息,Webpack可以要求它才能应用于angular指令。我确信这不需要IIFE,但我不确定如何重构Webpack
编辑:asume jQuery和$在全球范围内可用我找到了一种让它工作的方法,但我不确定这是否是最好的方法
// customJQPlugin.plugin.js
module.exports = function (options) { ... }
然后在指令文件中,我可以执行以下操作:
$.fn.customJQPlugin = require('./customJQPlugin.plugin');
...
link: function() {
$(elem).customJQPlugin({
some: 'options'
});
}
....
我仍然有一些错误,但这看起来更可能与问题无关
这不是最干净的,但它确实有效,如果我发现更多,它会更新。我已经找到了一种让它工作的方法,但我不确定这是否是最好的方法
// customJQPlugin.plugin.js
module.exports = function (options) { ... }
然后在指令文件中,我可以执行以下操作:
$.fn.customJQPlugin = require('./customJQPlugin.plugin');
...
link: function() {
$(elem).customJQPlugin({
some: 'options'
});
}
....
我仍然有一些错误,但这看起来更可能与问题无关
它不是最干净的,但确实有效,如果我发现更多信息,它会更新。您应该使用elem.customPlugin,因为angular.elem(elem)是错误的选择器。不幸的是,我尝试了这个方法,结果对两者都是一样的。$(elem).customPlugin()。我不确定。试试看。你应该使用elem.customPlugin,因为angular.elem(elem)是错误的选择器。不幸的是,我尝试了这个方法,结果是相同的。$(elem.customPlugin()。我不确定。试试看。这就是我在评论中提到的。这当然是正确的,但问题围绕着如何导出插件以及如何要求插件进入指令。如何将它应用到元素是一个附带的问题,尽管这是有效的:)这是我在评论中提到的。这当然是正确的,但问题围绕着如何导出插件和要求插件到指令中。如何将其应用于元素是一个侧重点,尽管有效:)