2016-03-17 5 views
1

Как хранить глобальную переменную в Angular2, то же самое с сеансом PHP?Как хранить глобальную переменную в Angular2?

вместо этого использовать:

localStorage.setItem(); 
+1

[ 'localStorage'] (HTTP: // StackOverflow. com/questions/8634058/where-the-sessionstorage-and-localstorage) записывает на диск для сохранения данных, как [сеанс] (http://php.net/manual/en/function.session-start .php) для PHP. Angular2 никогда не будет записывать на ваш диск, поэтому у вас не будет такого же поведения. Вам нужно будет использовать как сервисы, так и localStorage, чтобы использовать преимущества настойчивости. –

ответ

8

Вы можете использовать общую службу для этого. Для того, чтобы иметь уникальный экземпляр службы для всего приложения, просто определить его в функции bootstrap:

bootstrap(AppComponent, [ SharedService ]); 

Таким образом, вы будете иметь возможность установить глобальную переменную в нем.

export class SomeComponent { 
    constructor(private service:SharedService) { 
    this.service.someProperty = 'some value'; 
    } 
} 

Каждый элемент (компоненты, службы), которые вводят эту услугу, будет иметь доступ к этой услуге.

Если вы хотите быть notifed, когда это поле обновляется, вы можете использовать наблюдаемое свойство, как описано ниже:

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