Я получил несколько точек расширения в своем плагине, для которых я предоставляю некоторые реализации по умолчанию. Эти объекты не принадлежат моему объекту методов, но должны по-прежнему иметь правильное пространство имен.
Как мне именовать эти расширения?
Я пытался сделать это:
(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>
Как мне использовать пространство имен и использовать их?