2013-07-01 2 views
1

Я разрабатываю Angular-App. Пользователь должен вводить данные на разных страницах, тогда как можно переключаться между страницами. Кроме того, существует «обзорная страница», где пользователь может видеть введенные данные.Угловая JS/обработка данных/обзорная страница

Так что теперь я думаю о том, как показать введенные данные на обзорной странице. Должен ли я просто использовать $ rootScope для получения данных или лучше хранить его в JSON-объектах или - но это не предлагается в Angular - хранить данные в службе?

Итак, где можно получить введенные данные с разных страниц?

Спасибо!

+1

Показать, что у вас есть. – DaGardner

+0

Я не разработчик Angular, но я довольно опытен с другой структурой Javascript/UI, и мне кажется, что интерфейс с вкладками/мастерами будет предпочтительнее хранить все на одной странице, но в разных «карточках», только один из которых видно в любой момент времени, но в остальном все содержится на одной странице. Надеюсь, это поможет. –

+0

@Christian: Пока ничего не видно. Я нахожусь на этапе мозгового штурма. Итак, у меня есть html-страницы, контроллеры и некоторые сервисы ... Geoge: Понимайте, что вы имеете в виду, но у меня разные страницы, с разными контроллерами и т. Д. Спасибо! – DehMotth

ответ

2

Если вы хотите сохранить данные между фактическими страницами HTML, а не routes в одной странице, вы можете использовать LocalStorage. Here is a service, что сделает это немного проще.

Другим подходом было бы использование файлов cookie. Вы можете узнать больше об использовании файлов cookie в Angular here.

Если вы хотите сохранить данные на разных routes, вам нужно будет создать общий service. Ниже приведен пример такого подхода:

<div ng-app="myApp"> 
    <a href="#one">one</a> | <a href="#two">two</a> 
    <div ng-view></div> 
    <script id="one.html" type="text/ng-template"><div><h1>Template One</h1>foo = {{shared.foo}}</div></script> 
    <script id="two.html" type="text/ng-template"><div><h1>Template Two</h1>foo = {{shared.foo}}</div></script> 
</div> 

angular.module('myApp', []). 
config(function($routeProvider){ 
    $routeProvider. 
    when('/one', {templateUrl: 'one.html', controller: 'OneCrtl'}). 
    when('/two', {templateUrl: 'two.html', controller: 'TwoCrtl'}). 
    otherwise({redirectTo: '/one'}); 
}). 
service('sharedService', [function() { 
    this.foo = 'bar'; 
}]). 
controller('OneCrtl', function($scope, sharedService){ 
    $scope.shared = sharedService 
}). 
controller('TwoCrtl', function($scope, sharedService){ 
    $scope.shared = sharedService 
}); 

Here's a fiddle.

+0

Спасибо за ответы, сейчас У меня хорошие отправные точки! Нашел другое локальное решение для хранения для углового: [Local Storage Angular] (https://github.com/agrublev/Angular-localStorage). @moderndegree: принято это как ответ! – DehMotth

Смежные вопросы