angular - 如何在路线更改时停止 ngOnInit 拍摄?
问题描述
我的网站中有这种路由实现:
{
path: 'home',
component: CabinetComponent,
canActivate: [PrivateRouterGuard],
data: {section: MainComponent}
},
{
path: 'settings/:page',
component: CabinetComponent,
canActivate: [PrivateRouterGuard],
data: {section: SettingsComponent}
}
如您所见,例如 /home 和 /settings/account 都有相同的组件要显示,并且橱柜内的部分作为组件对象传输到数据属性中,并以这种方式显示在橱柜组件中:
<ng-container *ngComponentOutlet="routeComponent"></ng-container>
这里的 routeComponent 是一个变量,它包含了这个传入要显示的数据组件。
我的观点和目标是在用户进入他的机柜时进行一次性初始化,我认为 ngOnInit 会对我执行此操作,但在每次路由更改之后,尽管事实上,路由组件并没有改变并保持为 CabinetComponent , 每次我更改路线时,CabinetComponent 内的 ngOnInit 都会触发。我应该停止这一切。有任何想法吗?
解决方案
推荐阅读
- reactjs - 如何使用 react 和 django-rest-framework 返回 404 状态码
- python - 在 C 扩展中定义 Python 枚举 - 我这样做对吗?
- awk - 在匹配的字符串之后打印文本块
- caching - 在 Ignite 服务器节点中动态创建缓存并将其链接到 PostgreSql 表
- amazon-web-services - 如何将 AWS IAM 权限设置为“拒绝除 Y 之外的所有通配符 X”?
- libreoffice-calc - 在 LibreOffice 中以无头模式将 csv 转换为 dbase
- java - 写入json并保存旧信息
- python - 反向连接2个字符串
- vba - 如何在 VBA 中为多个单元格创建超链接?
- laravel - 有时无法将视频上传到 Twitter