91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

凌海市| 合水县| 四会市| 衡东县| 巨鹿县| 维西| 昆明市| 府谷县| 黔江区| 全南县| 洞头县| 焉耆| 镇康县| 昌图县| 礼泉县| 呼伦贝尔市| 洞头县| 韶关市| 博湖县| 上栗县| 沂水县| 德庆县| 万州区| 绥江县| 沿河| 河西区| 历史| 丹凤县| 文化| 汉阴县| 万盛区| 鹿邑县| 旌德县| 辛集市| 琼结县| 开远市| 晋江市| 习水县| 扶沟县| 临沧市| 苍山县|