2014-07-16 9 views
7

Ola!AngularJS Abrufen des aktuellen Fabrik-/Servicenamens

Ich spielte gerade mit eckigen Fabriken und Dienstleistungen und ich bemerkte gerade , dass ich den gegenwärtigen Namen der Fabrik/des Services nicht erhalten kann. Zumindest konnte ich dazu keine Ressourcen bekommen.
Zum Beispiel, so ist es ein bisschen klarer Ich habe eine Fabrik, so;

.factory('GuessImAFactory', [function() { 

    var factoryName = this.yadayada.name; //<- This actually doesn't work, 
              //if you haven't guessed 

    //<--Some other code goes here--> 

    return something; 
}]) 

So die Frage kennt jemand den Trick, wie man den Namen davon bekommt?

+1

was nützt Fall, dass es Ihnen einen Namen haben würden davon profitieren? – charlietfl

+3

Spielt es wirklich eine Rolle? :) Die Sache ist, ich wiederhole diese Saite wie 3 Mal in einer Fabrik und ich habe wie 200 Fabriken, es würde mir ein wenig Tipparbeit ersparen und auch Re-Factoring wäre ein Albtraum ... – TheCodeDestroyer

Antwort

2

Ich glaube nicht, dass das möglich ist. In der Callback-Funktion können Sie die tatsächliche Instanz der Factory nicht abrufen, da Sie sie direkt an diesem Ort definieren. In anderen Werken ist es noch nicht erstellt.

jedoch einfache Abhilfe für diese harten Code wäre es .. Da Sie wahrscheinlich nicht dynamisch Fabriken haben, können Sie einfach nur sagen,

var factoryName = 'GuessImAFactory'; 

und es verwenden, wenn nötig.

+0

Dachte so etwas war der Fall. .. ein bisschen befürchtet, das war die einzige Lösung: / – TheCodeDestroyer

0

Versuchen Sie dieses: factoryObject.__proto__.constructor.name

Verwandte Themen