Скажем, у меня есть этот базовый поставщик:Как наследовать от базового провайдера (а не производителя)?
angular.module('app').provider('BaseClient', function() {
this.setSomething = function (something) {
// Store `something` somewhere
return this;
};
});
И теперь эти 2 другие суб-провайдеров:
angular.module('app').provider('ClientA', function() {
this.$get = function() {
return {
foo: function() {
console.log('FOO', /* Read `something`, needs to output 'aaa' */);
}
}
};
});
angular.module('app').provider('ClientB', function() {
this.$get = function() {
return {
bar: function() {
console.log('BAR', /* Read `something`, needs to output 'bbb' */);
}
}
};
});
angular.module('app').config(function (clientAProvider, clientBProvider) {
clientAProvider.setSomething('aaa');
clientBProvider.setSomething('bbb');
});
Как сделать ClientA
и ClientB
наследуют секцию поставщик BaseClient
таким образом, что Я могу позвонить clientAProvider.setSomething('aaa')
и clientBProvider.setSomething('bbb')
и сохранить это значение для провайдера, используя ту же самую реализацию setSomething
?
У меня есть куча этих поставщиков (больше, чем эти 2), где раздел поставщика всегда один и тот же, реализация конфигурации всегда одна и та же, но фабричная часть этих поставщиков отличается.
Мысли?
Мне очень жаль, но, глядя на ответ, который я только что понял, что я сделал неправильный вопрос. Пожалуйста, дайте мне несколько минут, чтобы исправить вопрос. –
Обновлено. Еще раз извините. –
Я добавляю 'angular.extend (это, BaseClientProvider),' в 'ClientA' провайдер, это работа. –