我正在寻找包含 Angular 指令/模块的全局选项。
我可以.constant()
在我的模块文件中使用一个(或简单的配置对象),但由于该模块是为其他人设计的,可以包含在他们的项目中,并且可以通过 Bower 安装,我不喜欢全局选项被吹的想法当模块得到更新时离开。我知道.constant()
可以包含在另一个文件中,但是用户必须包含它 - 我更希望模块包含所有内容(默认值),然后用户可以根据需要扩展/修改。
我正在设想一种与 jQuery 插件模式类似的方法,例如:
$('.myElement').myPlugin({
option1: '',
option2: ''
});
插件
(function($) {
$.myPlugin = function( element, conf ) {
var $element = $(element);
var defaults = {
option1: '',
option2: '',
};
var config = $.extend( defaults, conf );
//...
};
$.fn.myPlugin = function(config) {
return this.each(function() {
if (undefined == $(this).data('myPlugin')) {
var plugin = new $.myPlugin(this, config);
$(this).data('myPlugin', plugin);
}
});
};
})(jQuery);