亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Angular如何實現刷新當前頁面的功能

發布時間:2020-12-07 14:14:11 來源:億速云 閱讀:307 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關Angular如何實現刷新當前頁面的功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

??從angular5.1起提供onSameUrlNavigation來支持路由重新加載。、

??有兩個值'reload'和'ignore'。默認為'ignore'

??定義當路由器收到一個導航到當前 URL 的請求時應該怎么做。 默認情況下,路由器將會忽略這次導航。但這樣會阻止類似于 "刷新" 按鈕的特性。 使用該選項可以配置導航到當前 URL 時的行為。

使用

配置onSameUrlNavigation

@NgModule({
  imports: [RouterModule.forRoot(
    routes,
    { onSameUrlNavigation: 'reload' }
  )],
  exports: [RouterModule]
})

??reload實際上不會重新加載路由,只是重新出發掛載在路由器上的事件。

配置runGuardsAndResolvers

??runGuardsAndResolvers有三個值:

  • paramsChange: 僅在路由參數更改時觸發。如/reports/:id 中id更改

  • paramsOrQueryParamsChange: 當路由參數更改或參訓參數更改時觸發。如/reports/:id/list?page=23中的id或page屬性更改

  • always?:始終觸發

const routes: Routes = [
  {
    path: '',
    children: [
      { path: 'report-list', component: ReportListComponent },
      { path: 'detail/:id', component: ReportDetailComponent, runGuardsAndResolvers: 'always' },
      { path: '', redirectTo: 'report-list', pathMatch: 'full' }
    ]
  }
];

組件監聽router.events

import {Component, OnDestroy, OnInit} from '@angular/core';
import {Observable} from 'rxjs';
import {Report} from '@models/report';
import {ReportService} from '@services/report.service';
import {ActivatedRoute, NavigationEnd, Router} from '@angular/router';

@Component({
  selector: 'app-report-detail',
  templateUrl: './report-detail.component.html',
  styleUrls: ['./report-detail.component.scss']
})
export class ReportDetailComponent implements OnInit, OnDestroy {
  report$: Observable<Report>;
  navigationSubscription;

  constructor(
    private reportService: ReportService,
    private router: Router,
    private route: ActivatedRoute
  ) {
    this.navigationSubscription = this.router.events.subscribe((event: any) => {
      if (event instanceof NavigationEnd) {
        this.initLoad(event);
      }
    });
  }

  ngOnInit() {
    const id = +this.route.snapshot.paramMap.get('id');
    this.report$ = this.reportService.getReport(id);
  }

  ngOnDestroy(): void {
    // 銷毀navigationSubscription,避免內存泄漏
    if (this.navigationSubscription) {
      this.navigationSubscription.unsubscribe();
    }
  }

  initLoad(e) {
    window.scrollTo(0, 0);
    console.log(e);
  }
}

關于Angular如何實現刷新當前頁面的功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涟源市| 克拉玛依市| 井冈山市| 榆林市| 巨鹿县| 汤原县| 交口县| 元阳县| 济源市| 浙江省| 繁昌县| 兴义市| 潜江市| 台湾省| 贵溪市| 拉萨市| 辽源市| 铜川市| 磴口县| 唐河县| 南宫市| 垦利县| 亳州市| 竹山县| 许昌县| 达日县| 繁峙县| 赣州市| 政和县| 老河口市| 石渠县| 西安市| 德保县| 九龙县| 聊城市| 京山县| 峨眉山市| 偃师市| 舟山市| 凤城市| 台北市|