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

相关内容

热门资讯

黑科技ai!wepoke挂真的... 黑科技ai!wepoke挂真的假的,wpk德州ai辅助神器,可靠教程(有挂攻略)-哔哩哔哩是一款可以...
黑科技透视!红龙扑克ai,智星... 黑科技透视!红龙扑克ai,智星菠萝德州辅助,必赢方法(有挂辅助挂)-哔哩哔哩(1)黑科技透视!红龙扑...
黑科技ai!WePoKe有挂吗... 黑科技ai!WePoKe有挂吗,wepoke透视该购买渠道,技巧教程(有挂黑科技)-哔哩哔哩1、这是...
黑科技辅助!微扑克有透视挂吗,... 黑科技辅助!微扑克有透视挂吗,微扑克有机器人吗,wpk教程(有挂教学)-哔哩哔哩1、构建自己的微扑克...
黑科技脚本!wepoker有外... 黑科技脚本!wepoker有外挂吗,wpk有挂么,教你攻略(有挂介绍)-哔哩哔哩1、许多玩家不知道w...
黑科技机器人!微扑克专用辅助器... 黑科技机器人!微扑克专用辅助器,wpk俱乐部,普及教程(有挂总结)-哔哩哔哩1.微扑克专用辅助器 a...
黑科技ai代打!wpk真的有外... 一、wpk真的有外挂简介了解软件请加微:136704302wpk真的有外挂是一款在线扑克游戏平台,玩...
黑科技辅助!德州辅助软件开发定... 黑科技辅助!德州辅助软件开发定制,aapoker有假吗,技巧教程(有挂攻略)-哔哩哔哩(1)黑科技辅...
黑科技脚本!wpk有赢的吗,w... 黑科技脚本!wpk有赢的吗,wepoke有没有挂,解密教程(有挂规律)-哔哩哔哩;无聊就玩这款wep...
黑科技ai辅助!wepoke有... 黑科技ai辅助!wepoke有没有挂,智星德州菠萝有挂吗,曝光教程(有挂详情)-哔哩哔哩1)智星德州...