Während die Frage mehr ich javascript Typ Frage annehmen ist mehr als eine Angular Frage, ich war in dem einen Service ich es wie diesesAngular-Service erstellt Funktion muss dieses Schlüsselwort
// controller injects activityApi , then service function call is made
var activities = activityApi.getActivityById(1122);
nennen würde ich eine bekommen Fehler, wenn ich "dieses" Schlüsselwort nicht vor Funktionsname setze 1. Warum brauche ich "dies".
2. Welche anderen Alternativen? (Ich versuche, in die Gewohnheit, nicht der alten Schule Javascript tun mit function blah() { ... }
this.getActivityById = function(id) {
$http.get('/Umbraco/Api/ActivityApi/GetActivity').
success(function (data, status, headers, config) {
console.log(data);
return data;
}).
error(function (data, status, headers, config) {
// log error
});
};
'this' ist sicherlich ein impo rtant kritisches Konzept in Javascript. In Bezug auf Angular haben Sie vielleicht eine Fabrik gesehen. Eine Fabrik braucht dieses nicht, aber der Service braucht sie. Service ist eine Konstruktorfunktion und Fabrik ist nicht. Unter der Haube Object.create() wird mit Service aufgerufen, factory ist nur eine Funktion, die aufgerufen wird und warum sie explizit zurückgegeben wird. –