Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Как сохранять состояние между страницами (https://javascript.ru/forum/angular/42494-kak-sokhranyat-sostoyanie-mezhdu-stranicami.html)

hopest 29.10.2013 11:46

Как сохранять состояние между страницами
 
Всем привет, не особо знаком с Angularjs

Вот есть такой стартовый пример

// Main configuration file. Sets up AngularJS module and routes and any other config objects

var appRoot = angular.module('main', ['ngRoute', 'ngGrid', 'ngResource', 'angularStart.services', 'angularStart.directives']);     //Define the main module

appRoot
    .config(['$routeProvider', function ($routeProvider) {
        //Setup routes to load partial templates from server. TemplateUrl is the location for the server view (Razor .cshtml view)
        $routeProvider
            .when('/home', { templateUrl: '/home/main', controller: 'MainController' })
            .when('/contact', { templateUrl: '/home/contact', controller: 'ContactController' })
            .when('/vgrid', { templateUrl: '/home/vgrid', controller: 'GridPersonal' })
            .when('/demo', { templateUrl: '/home/demo', controller: 'DemoController' })
            .when('/angular', { templateUrl: '/home/angular' })
            .otherwise({ redirectTo: '/home' });


    }])
    .controller('RootController', ['$scope', '$route', '$routeParams', '$location', function ($scope, $route, $routeParams, $location) {
        $scope.$on('$routeChangeSuccess', function (e, current, previous) {
            $scope.activeViewPath = $location.path();
        });
    }]);


При переходе между страницами, я имею работу с соответствующим controller, как мне например при переходе с одной страницы на другую держать данные, других controller?

jsru_ 29.10.2013 12:26

можно хранить в $rootScope, добавляй его как зависимость в контроллер и кидай в него что хочешь

tulov_alex 29.10.2013 13:08

Да самый простой способ держать все в $rootScope, но в этом случае он достаточно быстро захламляется.
Другой способ, реализовать factory, service или provider и подключать его экземпляр в виде зависимости к вашему контроллеру.

jsru_ 29.10.2013 13:15

tulov_alex, можешь кинуть пример кода? общество было бы благодарно :) ато глядишь и задонатило бы :)


Часовой пояс GMT +3, время: 14:46.