Я пытаюсь использовать переменную между контроллером и функцией. Но я получаю сообщение об ошибке от контроллера, говоря так:Угловой: не удается получить доступ к переменным в контроллере с помощью службы
TypeError: Cannot read property 'getSet' of undefined
Я прошел через многочисленные учебные пособия, но не знаю, где я буду неправильно. Мой код услуги, как это:
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
};
});
Я могу достичь selected
из моей функции, определенной как это:
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);
};
};
Мой контроллер выглядит так:
app.controller('topicController', ['$scope', '$http', '$mdDialog', 'shareData',
function ($scope, $http, $mdDialog, $mdToast, shareData) {
console.log(shareData.getSet()); // NOT WORKING
}]);
Большое спасибо! вы спасли мое драгоценное время! Но я не получаю точной причины, по которой я не смог получить к ней доступ, и удалив $ mdToast сделал волшебство –
@jAYANTYADAV Я обновил свой ответ, подробно объяснив .. Я думаю, это поможет вам. Спасибо :) –
Еще раз спасибо! Btw, что такое массив DI? Я имею в виду полную форму. –