Если вы хотите сохранить данные между фактическими страницами 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.
Показать, что у вас есть. – DaGardner
Я не разработчик Angular, но я довольно опытен с другой структурой Javascript/UI, и мне кажется, что интерфейс с вкладками/мастерами будет предпочтительнее хранить все на одной странице, но в разных «карточках», только один из которых видно в любой момент времени, но в остальном все содержится на одной странице. Надеюсь, это поможет. –
@Christian: Пока ничего не видно. Я нахожусь на этапе мозгового штурма. Итак, у меня есть html-страницы, контроллеры и некоторые сервисы ... Geoge: Понимайте, что вы имеете в виду, но у меня разные страницы, с разными контроллерами и т. Д. Спасибо! – DehMotth