Angular的*ngIf不在重新路由时起作用。
创始人
2024-10-24 01:00:41
0

这通常是由于组件的生命周期钩子中出现问题所引起的,解决方法是使用子组件和*ngIf在重新路由时重新加载父组件。以下是示例代码:

在父组件中:


  



在父组件中,我们将创建一个showChild布尔属性,在重新路由时它将连同子组件重新加载。父组件可以像这样处理路由:

import { Router } from '@angular/router';

// 在constructor中注入路由
constructor(private router: Router){}

// 模拟重新路由
reRoute() {
  this.router.navigate(['parent']);
  this.showChild = false;

  setTimeout(() => {
  this.showChild= true;
  });
}

在子组件中:


  
...

在这里,我们将dataLoaded布尔属性传递给子组件。在子组件的生命周期钩子中,我们将设置为false,并且在订阅数据时将它设置回true。这将确保只有在数据加载完成时才显示组件,而不会出现重新路由时组件未加载的情况。

import { Component, OnInit, OnDestroy } from '@angular/core';
import { DataService } from '../data.service';
import { Subscription } from 'rxjs';

@Component({
  selector: 'app-child',
  templateUrl: './child.component.html',
  styleUrls: ['./child.component.scss']
})
export class ChildComponent implements OnInit, OnDestroy {
  dataLoaded = false;
  subscription: Subscription;

  constructor(private dataService: DataService) {}

  ngOnInit() {
    // 假设这是订阅我们的数据类型的observable
    this.subscription = this.dataService.getData().subscribe(data => {
      this.data

相关内容

热门资讯

推荐十款!!红河西元旗牌脚本,... 推荐十款!!红河西元旗牌脚本,萍乡滚筒四幅攻略,黑科技教程(有挂细节)1、下载安装好红河西元旗牌脚本...
终于懂了!!微信微乐小程序辅助... 终于懂了!!微信微乐小程序辅助软件,樱花之盛辅助软件下载,插件教程(有挂工具)1、下载安装好微信微乐...
免费测试版!上品斗地主游戏辅助... 免费测试版!上品斗地主游戏辅助,南丰数刀脚本,靠谱教程(有挂方针)1、下载安装好上品斗地主游戏辅助,...
一起来讨论!樱花之盛牛牛挂,边... 一起来讨论!樱花之盛牛牛挂,边锋老友内蒙古辅助,透明挂教程(有挂细节)1、下载安装好边锋老友内蒙古辅...
科技介绍!小逸碰胡脚本,欢乐情... 您好:欢乐情怀辅助挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特...
普及知识!越乡游辅助器下载免费... 普及知识!越乡游辅助器下载免费,决战卡五星开挂方法,微扑克教程(真的有挂)1、下载安装好越乡游辅助器...
1.9分钟了解!网易水润血战到... 您好:网易水润血战到底辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户...
一分钟教会你!天天微友第三方辅... 一分钟教会你!天天微友第三方辅助软件下载,金州水鱼天下源码,攻略方法(有挂分析);无需打开直接搜索加...
总算明白!!潮友软件辅助开挂,... 总算明白!!潮友软件辅助开挂,赣牌圈有挂吗,新2024版(有挂方法);无需打开直接搜索加薇13670...
每日必看教程!蜜瓜大厅可以装挂... 您好:蜜瓜大厅可以装挂吗这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...