我的插件中有一些扩展点,我提供了一些默认实现。这些对象不属于我的方法对象,但仍应正确命名。
如何命名这些扩展名?
我试着这样做:
(function ($) {
var pageManagers = {};
var themeManagers = { };
themeManagers.noTheme = {
some: function() {
}
// and more.
}
var methods = {
// all of my methods
}
$.fn.griffinTable = function (method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.griffinTable');
}
return this;
};
})(jQuery);
但我无法弄清楚如何从外部访问pageManagers
或themeManagers
,如:
<script type="text/javascript">
$(function () {
$('#mytable').griffinTable({ fetchAtStart: true, themeManager: themeManagers.noTheme });
});
</script>
如何命名和使用它们?
答案 0 :(得分:0)
我在jQuery范围之外使用它:
$.griffinTableExtensions = {
pageManagers: {},
themeManagers: {}
};
允许我使用:
<script type="text/javascript">
$(function () {
$('#mytable').griffinTable({ fetchAtStart: true, themeManager: $.griffinTableExtensions.themeManagers.noTheme });
});
</script>