Ich habe den folgenden Dienst mit AngularJS definiert:Wie kann ich eine Angular-Funktion von einer anderen innerhalb desselben Dienstes aufrufen?
myApp.factory('utilitiesService',
function ($filter) {
return {
myFuncA: function (inArg) {
return "XXXX";
},
myFuncB: function (inObj) {
inObj.c = "CCCC";
inObj.d = "dddd";
inObj.newFunc = function() {
return utilitiesService.myFuncA(
this.c,
this.d
);
};
return inObj;
}
};
}
);
Von außerhalb dieses Dienstes, ich myFuncA()
von utilitiesService
und dann utilitiesService.myFuncA("blah blah blah");
jedoch einfach Injektion nennen kann myFuncB()
die gleiche Art und Weise versagt Aufruf zu tun, weil es sagt es weiß nicht über utilitiesService
. Wie kann ich auf myFuncA()
innerhalb von myFuncB()
inObj.newFunc()
zugreifen?
Bitte beachte, dass ich nicht utilitiesService
als this
in der Definition von newFunc()
weil in diesem Zusammenhang verweisen kann, ist this
inObj
.
haben Sie versucht, 'this.myFunA'? –
Ich habe wichtige Änderungen an der Frage vorgenommen, die Ihre Antwort erheblich verändern wird. Entschuldigen Sie die Unannehmlichkeiten. –