У меня проблема с моим Угловым сервисом. У меня есть два контроллера и одна служба. В основном первый контроллер получает данные через вызов AJAX и сохраняет эти данные в службе. Второй контроллер затем получает доступ к этим данным через службу. Я успешно передал данные от 1-го контроллера к службе, однако, когда я получаю данные от второго контроллера, он ничего не возвращает.Контроллер не может получить доступ к переменной углового обслуживания
У меня есть один вид с двумя контроллерами, кстати.
Благодаря
служба
app.service('SharedDataService', function() {
// Holds subtask that will be passed to other controllers
// if SharedDataService is invoke.
var _subTask = {};
return {
subTask : _subTask
};
});
Контроллер 1
app.controller('MainCategoryController',function($scope,$http,SharedDataService){
$scope.loadSubtask = function(m_uid){
$http({
method: 'POST',
url: $locationProvider + 'query_stasks',
data: {
m_uid: m_uid
}
}).then(function successCallback(response) {
SharedDataService.subTask = response.data;
},function errorCallback(response){
});
}
}
Контроллер 2
app.controller('SubTaskController',function($scope,$http,$location,$rootScope,SharedDataService){
$scope.$watch('SharedDataService.subTask', function(newValue,oldValue){
console.log("ni sud');");
if (newValue !== oldValue) {
$scope.subTasks = newValue;
}
return SharedDataService.subTask;
});
}
Понял !! это сработало .. Я никогда не использовал "watchExpression" – drake24