角度4中的路由器是否仅保存一个状态并且在导航期间?

时间:2018-04-24 13:14:41

标签: angular typescript

我有两个状态A和BI从状态A导航到状态B.当我从状态B导航回状态A时,状态A再次以角度加载。状态A在从状态A导航到状态时被破坏B?如果状态A被破坏,那么如何防止状态A在后面的导航中再次加载

1 个答案:

答案 0 :(得分:1)

是的,Angular一次只持有1个状态。有多种方法可以保存状态,拥有一个使用getter和setter保存私有变量的服务,将它保存在localStorage / sessionStorage,查询字符串等等......每个都有自己的优点和缺点,我会研究更多关于它在路由器部分的angular.io上。

组件可以实现的类很少"例如OnInit和OnDestroy,那么你可以在代码中使用这些函数,这样你就可以在每次加载/离开时加载/保存状态。 例如:

CREATE TABLE COMMANDES (
NO_COMMANDE NUMBER(6) PRIMARY KEY,
CODE_CLIENT CHAR(5) NOT NULL,
NO_EMPLOYE NUMBER(4) NOT NULL,
DATE_COM DATE DEFAULT SYSDATE,
DATE_ENV DATE,
PRIX_TOT NUMBER(7,2) );

CREATE TABLE EMPLOYES (
NO_EMPLOYE NUMBER(4) PRIMARY KEY,
NOM  CHAR(20) NOT NULL,
PRENOM CHAR(20) NOT NULL,
DATE_NAISSANCE  DATE NOT NULL,
FONCTION  VARCHAR2(20) NOT NULL,
DATE_ENTREE  DATE NOT NULL
);

当然,您也可以在构造函数中加载状态,但我发现onInit在性能方面更好。但随意纠正我。