Маршрутизатор в angular 4 держит только одно состояние и во время навигации? - PullRequest
0 голосов
/ 24 апреля 2018

У меня есть два состояния A и BI, перемещенных из состояния A в состояние B. Когда я возвращаюсь в состояние A из состояния B, состояние A снова загружается в angular. Состояние A разрушается при переходе из состояния A в состояние B? Если состояние A уничтожено, то как предотвратить повторную загрузку состояния A при переходе назад

1 Ответ

0 голосов
/ 24 апреля 2018

Да, Angular поддерживает только 1 состояние одновременно. Есть несколько способов сохранить состояние, имея службу, которая содержит частные переменные с геттерами и сеттерами, сохраняя ее в localStorage / sessionStorage, строках запросов и т. д. У каждого из них есть свои плюсы и минусы, я бы изучил немного больше об этом на angular.io в разделе роутера.

Существует несколько классов, которые компонент может «реализовать», например, OnInit и OnDestroy, тогда у вас будут эти функции в коде, чтобы вы могли загружать / сохранять состояние при каждой загрузке / отпускании. Пример:

export class ChatComponent implements OnInit, OnDestroy {
  constructor(){}
  onDestroy(){
    //save logic goes here
  }
  onInit() {
    //load logic goes here
  }
}

Конечно, вы также можете загрузить состояние в конструкторе, но я считаю, что onInit лучше для производительности. Но не стесняйтесь поправлять меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...