angular关于本页路由不刷新

本文探讨了Angular应用程序中遇到的本页路由不刷新问题。通过分析代码和配置,我们将了解这个问题的原因,并提供相应的解决方案,帮助开发者解决在页面更新时遇到的路由不刷新难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下

<div class="content col-md-12">
  <div class="title">
    <span>已选择2项</span>
    <a class="btn btn-info">批量添加</a>
    <a class="btn btn-info" [routerLink]="['schspAddschsp']">新增</a>
  </div>

  <div class="row">
    <table class="table table-bordered" >
      <thead>
      <tr>
        <th></th>
        <th>序号</th>
        <th>运动队</th>
        <th>竞赛名称</th>
        <th>教练员</th>
        <th>队长</th>
        <th>状态</th>
        <th>备注</th>
        <th>操作</th>
      </tr>
      </thead>
      <tbody>
      <tr *ngFor="let svlist of svlists let i = index" >
        <td><input type="checkbox"></td>
        <td>{{i+1}}</td>
        <td>{{svlist.equipe}}</td>
        <td>{{svlist.name}}</td>
        <td>{{svlist.coach}}</td>
        <td>{{svlist.leader}}</td>
        <td>{{svlist.status}}</td>
        <td>{{svlist.remark}}</td>
        <td>
          <a class="btn alink" [routerLink] = "['schspSchspinfo',svlist.uid]" title="查看">查看<i class="fa fa-search"></i></a>
          <a class="btn alink" [routerLink] = "['schspEditschsp',svlist.uid]">编辑</a>
        </td>
      </tr>
      </tbody>
    </table>
  </div>
  <router-outlet></router-outlet><!--这是插座位置-->
</div>
这是需要点击刷新的页面
<div class="row schsp_schsp">
  <table class="table table-bordered" >
    <thead>
    <tr>
      <th>序号</th>
      <th>学生姓名</th>
      <th>学号</th>
      <th>团体/个人</th>
      <th>国家级/市级</th>
      <th>名次</th>
      <th>是否破纪录</th>
      <th>奖励金额</th>
      <th>状态</th>
      <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <tr *ngFor="let inf of infor" >
      <td>{{inf.id}}</td>
      <td>{{inf.cname}}</td>
      <td>{{inf.username}}</td>
      <td>{{inf.groupOrindividual}}</td>
      <td>{{inf.level}}</td>
      <td>{{inf.rank}}</td>
      <td>{{inf.breaking}}</td>
      <td>{{inf.reword}}</td>
      <td>{{inf.state}}</td>
      <td>
        <!--<a class="btn alink" [routerLink] = "['',inforlist.id]">拒绝</a>-->
        <!--<a class="btn alink" [routerLink] = "['',inforlist.id]">通过</a>-->
      </td>
    </tr>
    </tbody>
  </table>
  <a class="btn determine_close" onclick="javascript:history.back(-1);">关闭</a>
</div>


ngOnInit() {
  this.id = this.routeInfo.snapshot.params["id"];
  this.infor = this.eventListService.getInforById(this.id);
  //    this.eventListService.getInforById(this.id).subscribe(
  //   infor => this.infor = infor
  // );
  this.inforlists = this.eventListService.getInforlist();

  $(".determine_close").click(function() {
      $(".schsp_schsp").hide();
    }
  );
}

ngDoCheck() {
  this.id = this.routeInfo.snapshot.params["id"];
  this.infor = this.eventListService.getInforById(this.id);
  //    this.eventListService.getInforById(this.id).subscribe(
  //   infor => this.infor = infor
  // );
}
如图,只需要在该页面添加一个DoCheck的钩子,下次点击,不再走OnInit,将需要刷新的代码放在DoCheck中即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值