Ich habe das folgende Modul:Inheritance in Dienstleistungen
angular.module('project.itemServices', ['project.cacheFactory', 'project.dataProvider'])
.run(function() {
ISvc = new function() {
this.endpoint = '';
this.name = 'foo';
this.items = {};
this.clean = function() {
cacheFactory.clear(this.name);
items = {};
};
this._store = null;
this.populate = function() {
cacheFactory.look('fetch', this.endpoint, this.name).then(function (data) {
this._store(data);
})
};
};
}
)
.service('catListSvc', function()
{
this.prototype = ISvc.prototype;
})
.run(function(catListSvc)
{
console.log(catListSvc.name);
});
ich alle meine Dienste in diesem Modul wollen vom ISvc Objekt erben, und dann setzen sie eigene _store
Methode ist dieser Service für den Austausch von Daten vorgesehen ist zwischen Controller.
Ich weiß nicht, wie dies zu tun ist, wenn Sie versuchen, console.log(catListSvc.name)
, undefined
kommt auf.
Ich habe mehrere Dinge ausprobiert, z. Objects.create(ISvc.prototype)
, funktioniert aber nicht.
Irgendeine Idee, wie man das erreicht?
'this.prototype' tut nichts. Um die Vererbung einzurichten, müssen Sie die "Prototyp" -Eigenschaft des Konstruktors auf ein Objekt setzen, das an den Prototyp gebunden ist, den Sie erben möchten. –
Könnten Sie bitte ein Beispiel schreiben? Ich bin verwirrt. –
Leider kann ich nicht, Winkel 1 ist nicht mein Ding, ich erkläre nur, wo dein Hauptproblem liegt. Siehe http://blog.mgechev.com/2013/12/18/inheritance-services-controllers-in-angularjs/ –