Ich versuche, eine Variable zwischen einem Controller und einer Funktion zu teilen. Aber ich erhalte eine Fehlermeldung von der Steuerung, das sage:Angular: Nicht in der Lage, auf Variablen in Controller mit Service zuzugreifen
TypeError: Cannot read property 'getSet' of undefined
ich durch zahlreiche Tutorials gegangen sind, aber nicht wissen, wo ich falsch gehen. Mein Service Code ist wie folgt:
app.service('shareData', function() {
var selected = ["plz", "print", "something"];
var putSet = function(set) {
selected = set;
};
var getSet = function() {
return selected;
};
return {
putSet: putSet,
getSet: getSet
};
});
ich in der Lage bin selected
von meiner Funktion wie folgt definiert zu erreichen:
setDisplay = function($scope, $mdDialog, shareData) {
console.log(shareData.getSet()); // this is working
$scope.selected = shareData.getSet();
$scope.hide = function() {
$mdDialog.hide();
};
$scope.cancel = function() {
$mdDialog.cancel();
};
$scope.answer = function(answer) {
$mdDialog.hide(answer);
};
};
Mein Controller das ist wie:
app.controller('topicController', ['$scope', '$http', '$mdDialog', 'shareData',
function ($scope, $http, $mdDialog, $mdToast, shareData) {
console.log(shareData.getSet()); // NOT WORKING
}]);
Vielen Dank! Du hast meine kostbare Zeit gerettet! Aber ich bekomme nicht den genauen Grund, warum ich nicht in der Lage war, darauf zuzugreifen und zu entfernen $ mdToast tat die Magie –
@jAYANTYADAV Ich aktualisierte meine Antwort mit ausführlich erklären .. Ich denke, es würde Ihnen helfen. Danke :) –
Danke nochmal! Übrigens, was ist ein DI-Array? Ich meine Vollform. –