【发布时间】:2018-03-14 17:11:27
【问题描述】:
我有一个类似的页面:
有两个标签:A和B,点击A时出口会出现组件A,点击B时会显示组件B。
现在点击标签B并呈现组件B,然后点击标签A,然后点击B,组件将通过ngOnInit引发重新加载。 问题是:
在A和B之间切换时如何防止组件B重新加载,我想只初始化一次组件B。
【问题讨论】:
-
你考虑过使用解析器吗?
标签: angular
我有一个类似的页面:
有两个标签:A和B,点击A时出口会出现组件A,点击B时会显示组件B。
现在点击标签B并呈现组件B,然后点击标签A,然后点击B,组件将通过ngOnInit引发重新加载。 问题是:
在A和B之间切换时如何防止组件B重新加载,我想只初始化一次组件B。
【问题讨论】:
标签: angular
如果您不想在更改路线时重新加载组件,为什么不简单地将组件放在页面中并相应地隐藏/显示它们?请检查我创建的这个示例:
【讨论】:
routesReusingStrategy 以实现相同的目标。
我使用了 Angular service 来维护组件的所有数据,并在组件的构造函数中调用了相关函数将这些值分配给组件的局部变量/对象。
因此,在每次切换时,都会调用组件的构造函数并从服务中获取属性。
如果不是constructor,您也可以在ngOnInit() 中进行相同的调用。
【讨论】: