@leo_fr

Как правильно передавать данные в angularjs с controller в controller?

Доброе время суток. Не могу понять до конца, как передавать данные, а именно передача данных из контроллера в контроллер.
1. форма авторизации 840c8ef328614173ba48378fa551fcb2.png
Login controller :
'use strict';

angular.module('prApp')
    .controller('loginCtrl',
    ['$scope','$rootScope','$location', 'loginService',
    function ($scope,$rootScope, $location,loginService) {
        loginService.ClearCredentials();
        $scope.login = function(){
            $scope.dataLoading = true;
            loginService.Login($scope.username, $scope.password, function(response){
                if(response.success){
                    loginService.SetCredentials($scope.username, $scope.password);
                    $location.path('/user/{{user.userId}}');
                    console.log('sd');
                    console.log($scope.userId);
                    console.log($scope.username, $scope.password);
                    console.log($scope)
                } else {
                    $scope.error = response.message;
                    $scope.dataLoading = false;
                }
            });
        };
    }]);

login service(часть кода)
'use strict';

angular.module('prApp')
    .factory('loginService',
    ['Base64','$http', '$cookieStore','$rootScope',
    function (Base64,$http, $cookieStore,$rootScope) {
        var service={};
        service.Login=function(username, password, callback){
            $http.post('/auth/log', { username: username, password: password })
                .success(function (response) {
                    callback(response);
                })
                .error(function (response) {
                    callback(response);
                });
        };

На back-end symfony (если success то возвращает)
if ($user) {
                return new JsonResponse([
                    'username' => $user -> getUserName(),
                    'userId' => $user -> getId(),
                    'success' => true
                ]);

Далее мы вводим данные и сервер возвращает нам данные
6c256214a4e34dfeb88fd90da14e90cd.pngИ тут начинаются проблемы:
На front-end использую маршрутизацию $routeProvider
'use strict';

angular
    .module('prApp', [
        'ngAnimate',
        'ngCookies',
        'ngResource',
        'ngRoute',
        'ngSanitize',
        'ui.bootstrap',
        'ngTouch'
    ])
    .config(function ($routeProvider, $locationProvider)  {

        $routeProvider

            .when('/home', {
                templateUrl: 'app/views/home.html'
            })
            .when('/login', {
                templateUrl: 'app/views/login.html',
                controller: 'loginCtrl'
            })
  
            .when('/user/:userId', {
                templateUrl: 'app/views/user.html',
                controller: 'usersCtrl'
            })


            .otherwise({
                redirectTo: '/home'
            });
        $locationProvider.html5Mode( true   );
        $locationProvider.hashPrefix('!');
    });

В login conntrolle описанный выше я использую переадресацию при success $location.path('/user/{{user.userId}}'); в результате я подгружаю страницу html, но без данных clip2net.com/s/3t58sZZ f5ae0b36d95349e6b055630d8ea8585b.png
И страница(данные ) перехода $location.path('/user/{{user.userId}}');
ссылка на картинку "clip2net.com/s/3t57Pw4"
60731b2e10f04315ba8e9239e11f7a56.png

Controller user page
'use strict';

angular.module('prApp')
    .controller('usersCtrl', ['$scope', '$rootScope','$routeParams', '$modal','loginService',
        function ($scope, $rootScope, $routeParams, $modal,loginService) {

           $scope.user = Users.get({id: $routeParams.userId});
            $scope.loginService = loginService;
  .........

Вполне возможно, что я двигаюсь в неправильную сторону, был бы рад если наставили на правильный путь^^ Заранее спасибо.
  • Вопрос задан
  • 676 просмотров
Решения вопроса 1
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
Почитайте тут - stepansuvorov.com/blog/2014/09/angularjs-data-transfer
очень много вопросов отпадет
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы