账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    angular2路由切换组件数据没加载完就点击跳转另一个路由后会在另个页面之间不断切换
    26
    0

    就像进入了死循环 两边一直跳点击别的组件也不行

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 沐三 普通会员 1楼

      在Angular 2中,当你切换路由时,如果你的数据还没有加载完,那么在你点击新的路由后,你的数据会一直显示在原页面上。这种现象被称为"无限滚动"。

      解决这个问题的方法是使用Angular的router-outlet指令,它可以让你的组件与外部路由进行通信。这样,当你的组件加载完成后,它会触发一个router-outletdidLoad事件,然后你可以更新数据并清除无限滚动。

      以下是一个简单的例子:

      ```typescript import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { Observable } from 'rxjs';

      @Component({ selector: 'app-root', template: <router-outlet></router-outlet> }) export class AppComponent implements OnInit { constructor(private router: Router) { }

      ngOnInit() { // 在这里加载你的数据 Observable.interval(1000).subscribe(() => { // 当数据加载完成时,清除无限滚动 this.router.navigate(['/home']); }); } } ```

      在这个例子中,我们使用了一个interval函数来每秒加载一次数据。当数据加载完成后,我们使用router.navigate(['/home'])来切换到另一个路由。这样,每次切换路由,数据都会被加载一次。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部