Я работаю над приложением, которое использует angularjs. В этом случае у меня есть страница входа, которая ведет к домашней странице. Страница входа управляется loginCtrl, который далее использует loginService.Данные, проходящие между страницами angularjs
это loginctrl (Войти Controller)
'use strict';
angular.module('dreamflow').controller('LoginCtrl', ['$scope', 'LoginService',
function($scope, LoginService) {
$scope.title = "Login";
$scope.master = {}
$scope.login = function() {
var user = {
username: $scope.username,
password: $scope.password
};
LoginService(user);
};
}
]);
это loginService
angular.module('dreamflow')
.factory('LoginService', function($http, $location, $rootScope) {
return function(user) {
$http.post('/login',{
username: user.username,
password: user.password
}).then(function(response) {
if (response.data.success) {
console.log(response.data);
$rootScope.user = response.data.user;
$location.url('/');
} else {
console.log(response.data.errorMessage);
$location.url('/');
}
});
};
});
В приведенном выше коде информацию о пользователях приходит после проверки успешности ответа и затем мы перенаправлены на дому стр. Я хочу получить доступ к данным пользователя, входящим в $ rootScope.user в угловой контроллер домашней страницы.
вы могли бы избежать использования rootScope при наличии LoginService в контроллере вашей домашней страницы. Тогда ваш контроллер домашней страницы будет иметь доступ немедленно к response.data.user по мере поступления данных. – PenguinSource
Да, я пытался это сделать, но я не могу успешно получить доступ к данным пользователя. можете ли вы более подробно объяснить, как это сделать. – ashishkumar148
Я также сталкиваюсь с той же проблемой. Контроллер не находится в одном приложении с угловым модулем, но они находятся в двух разных приложениях. – ritesh