Я привык использовать этот шаблон во всем коде, и мне нравится:
var UserWidget = (function(){
var url = "/users",
tmpl = "#users li", $tmpl;
function load() {
$tmpl = $(tmpl);
$.getJSON(url, function(json){
$.each(json, function(i, v) {
appendUser(v);
});
});
}
...
return {
load: load
};
})();
Однако у меня много объектов "виджетов". "ProfileWidget", "PlayerWidget" и т. Д. И т. Д., И есть определенные действия, которые разделяет каждый виджет. Поэтому в идеале, если мы думаем объектно-ориентированно, я хочу, чтобы каждый объект виджета наследовал некоторые методы из основного класса "Widget".
Как я могу сделать это, не меняя этот прекрасный шаблон, который я использовал?
Чтобы быть более ясным, я хотел бы иметь возможность сделать что-то вроде этого:
var Widget = (function() {
function init() {
console.log("wow yeah");
}
})();
// have UserWidget inherit somehow the Widget stuff
var UserWidget = (function() { ...
UserWidget.init(); // -> "wow yeah"