Я не могу получить доступ к службе внутри моего метода контроллера.AngularJS - Не удается получить доступ к службе в методе контроллера
AppController.$inject = ['$scope', 'appService'];
function AppController($scope, appService) {
$scope.name = "World";
$scope.clicked = function() {
//am not able to access appService here
/*
appService.setName("john");
$scope.name = getName();
*/
$scope.name = "button clicked";
}
}
http://plnkr.co/edit/UgHmtCbkxeyluTPJOG4T?p=info
Услуга доступна, когда контроллер получает создан, но не при нажатии() вызывается в контроллере. Пожалуйста, дайте мне знать, если я что-то упустил.
Я пытался создать директиву (что-то вроде раскрывающегося списка локали). Я хотел, чтобы директива имела свой контроллер и собственную услугу. Моя идея заключается в том, что контроллер будет обрабатывать метод languageChange(), когда пользователь изменяет раскрывающийся список и устанавливает язык в службе, чтобы я мог внедрить эту службу в любую другую часть приложения.
Вот когда у меня были проблемы доступа к Услугам внутри моего метода контроллера (LanguageChange())
Я думаю, что если я получаю основной пример правильно, я смогу приступить к моей директивы изменения языка.
Спасибо за быстрый ответ. Но у меня были другие случаи, когда appService не был доступен внутри метода контроллера. Можете ли вы придумать какую-либо причину? Я могу получить к ним доступ при запуске контроллера, но не при вызове метода в контроллере. Кроме того, вы можете опубликовать очень простой пример, который создает директиву, может быть кнопкой, в которой есть контроллер и служба. При нажатии кнопки я хочу вызвать метод в контроллере, который говорит об услуге. – touchydeer36
Ваш образец, наслаждайтесь! http://plnkr.co/edit/PvWCEezSfEeQmK9DKaLz?p=preview –
Привет @ touchydeer36, если этот или любой ответ решил ваш вопрос, пожалуйста, рассмотрите [его принятие] (http://meta.stackexchange.com/q/5234/179419), щелкнув галочку. Это указывает более широкому сообществу, что вы нашли решение и дали некоторую репутацию как самому, так и самому себе. Это не обязательно. –