zoukankan      html  css  js  c++  java
  • [Angular] N things you might don't know about Angular Route

    Prevent Partail Page display: By using Resolver:

    @Injectable()
    export class MovieResolver implements Resolve<IMovie> {
    
      constructor(private movieService: MovieService) { }
    
      resolve(route: ActivatedRouteSnapshot,
              state: RouterStateSnapshot): Observable<IMovie> {
        const id = route.paramMap.get('id');
        return this.movieService.getMovie(+id);
      }
    }
    providers: [
       MovieService,
       MovieResolver
    ]
    {
       path: 'movies/:id',
       resolve: { movie: MovieResolver },
       component: MovieDetailComponent
    },
    ngOnInit(): void {
       this.movie = this.route.snapshot.data['movie'];
    }

    Display Loading spinner when switching page:

    constructor(private router: Router) {
       router.events.subscribe((routerEvent: Event) => {
          this.checkRouterEvent(routerEvent);
       });
    }
    
    
    checkRouterEvent(routerEvent: Event): void {
       if (routerEvent instanceof NavigationStart) {
          this.loading = true;
       }
    
       if (routerEvent instanceof NavigationEnd ||
           routerEvent instanceof NavigationCancel ||
           routerEvent instanceof NavigationError) {
          this.loading = false;
       }
    }
    <span class="glyphicon glyphicon-refresh glyphicon-spin spinner" 
          *ngIf="loading"></span>
    <router-outlet></router-outlet>

    Enable route debugging:

    RouterModule.forRoot([
      {
        path: '', component: ShellComponent,
        children: [
          { path: 'welcome', component: WelcomeComponent },
          { path: 'movies', component: MovieListComponent },
          { path: '', redirectTo: 'welcome', pathMatch: 'full' }
        ]
      },
      { path: 'login', component: LoginComponent },
      { path: '**', component: PageNotFoundComponent }
    ], { enableTracing: true })

    Talk 

  • 相关阅读:
    jQuery Lazy Load 图片延迟加载
    jquery多级联动(ajax查数据库)
    在命令行快速切换目录(转载)
    推荐Mac软件Alfred
    Vim的snipMate插件
    腾讯CMEM的PHP扩展(转载)
    svn hooks使用
    samba基本配置
    linux进程状态详解(转)
    elk systemd管理
  • 原文地址:https://www.cnblogs.com/Answer1215/p/9000731.html
Copyright © 2011-2022 走看看