日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

          歡迎訪問 生活随笔!

          生活随笔

          當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

          编程问答

          路由怎么定位到当前页面的组件_Angular 重载当前路由

          發布時間:2025/3/20 编程问答 19 豆豆
          生活随笔 收集整理的這篇文章主要介紹了 路由怎么定位到当前页面的组件_Angular 重载当前路由 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

          之前有同學在群里問到過,為什么url已經變化了,但是頁面卻沒有刷新,這個問題一般都會涉及到路由重載。這在angularJs里實現起來是比較直接的,只需要調用路由服務的reload方法就可以了。 但是在angular里可能沒有那么直接。

          糟糕的解決方案

        1. 跳出去,再跳回來。為了重載A頁面,這種解決方式采用 A --> B --> A的方式使A頁面重新加載。'hack'的味道非常濃重。
        2. 讓瀏覽器刷新整個頁面。這對于單頁應用來講實在是非常糟糕的方法,因為它會重新加載應用,如果應用比較大,加載時間過長,用戶體驗極差。
        3. angular Style的解決方案

          其實在angular5.1版本中就可以通過onSameUrlNavigation解決這個問題,不幸的是官方的文檔中并沒有清楚的提到這個配置以及如何使用。下面我們來看下如何配置它。

          路由啟動配置

          首先需要在項目的根路由,一般是app.routing.ts 或 app.routing.module.ts中,當然這得看你的項目是如何命名根路由的。onSameUrlNavigation的配置有2個可選值,'ignore' 和 'reload'。默認ignore,當路由請求被要求導航到當前的活動路由中時頁面是不會reload的,因此不會發生任何改變的。我們希望的是reload,因此需要手動配置它的值為'reload';

          const routes: Route[] = [...]; @ngModule({imports: [RouterModule.forRoot(routes, {onSameUrlNavigation: ‘reload’})],exports: [RouterModule], }) export class AppRoutingModule.ts { }

          值得注意的是,'reload'并不會真正的執行加載工作,它只是重新觸發了路由上的events事件循環。

          Route配置

          接下來要解決的是,這一系列的路由事件在何種情況下應該被觸發,此時我們需要配置 runGuardsAndResolvers 選項,它有3個可選值。

          • paramsChange 只有當參數變化時才重新啟動,例如 'article/:id',參數指的就是這里的id。
          • paramsOrQueryParamsChange 當參數或查詢參數變化時重新啟動。例如:'article/:category?limit=10,參數指 'category',查詢參數指'limit';
          • always 無論何種情況都重新啟動

          這里我們使用 'paramsChange'

          export const routes: Routes = [{path: 'article/:id',component: ArticleComponent,runGuardsAndResolvers: 'paramsChange',} ]

          組件中處理路由事件

          路由上的配置完成后,我們需要在組件中處理路由上的事件,在特定的事件到達時執行需要的操作,如從后臺加載數據等,路由上的事件很多,'特定事件'指的是你希望處理的事件。這里我們選擇NavigationEnd事件

          export class ArticleComponent implement OnInit, OnDestroy {subscription: Subscription;constructor(private router: Router) { }ngOnInit() {this.subscription = this.router.events.pipe(filter(event => event instanceOf NavigationEnd)).subscribe(_ => {...}) // 執行業務操作}ngOnDestroy() {this.subscription.unsubscribe(); // 不要忘記處理手動訂閱} }

          OK,到這里所有的工作就結束了,假如路由處于 'article/2',業務邏輯需要在這里重新定位到 'article/3' 時,這下就不僅僅是url發生變化了,頁面也會隨之被更新。

          Angular完全開發手冊?www.hijavascript.com

          總結

          以上是生活随笔為你收集整理的路由怎么定位到当前页面的组件_Angular 重载当前路由的全部內容,希望文章能夠幫你解決所遇到的問題。

          如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

          主站蜘蛛池模板: 日本高清视频网站 | 亚洲熟悉妇女xxx妇女av | 国产伦精品一区二区三区千人斩 | 国产91绿帽单男绿奴 | 日韩精品在线免费 | 欧美中文字幕在线观看 | 日本在线二区 | 美腿丝袜亚洲综合 | 国产无套在线观看 | 亚洲国产精品久久久久 | 国产成人自拍网站 | 天天性综合 | 91五月天| 影音先锋啪啪 | 中文字幕无线精品亚洲乱码一区 | 国产亚洲欧美精品久久久久久 | 久草天堂 | 国产免费大片 | av国语| 91精品国产高清 | 国产专区av | 亚洲在线观看免费视频 | 91成人网页 | 免费观看黄色av | 四虎永久免费观看 | 中文字幕女优 | 操极品女神 | www.黄色网址 | 青青草国产一区二区三区 | aa视频网站 | 久久国产成人精品 | 狠狠干青青草 | 欧美三级免费看 | 国产在线午夜 | 欧美一级片免费在线观看 | 日韩va中文 | 国产成人av电影 | 久久久久久综合网 | 18性xxxxx性猛交 | 九色首页 | 秋霞福利视频 | 神马久久春色 | 99久久婷婷国产综合精品电影 | 99在线精品视频免费观看软件 | 欧美一卡 | 亚洲麻豆视频 | 成人性生活免费视频 | 婷婷在线一区 | 欧美性大战久久久久xxx | 日本成人免费在线 | 国产成人手机在线 | 在线观看亚洲国产 | 国产91久| 久热免费在线视频 | 激情综合六月 | 国产一精品一aⅴ一免费 | 天天拍天天色 | 91极品视觉盛宴 | 成人在线超碰 | 成人av网站在线播放 | 99久热 | 日韩一区免费观看 | 葵司一区二区 | 欧美黄色三级 | 欧美精品一区二区成人 | 亚洲人在线观看视频 | 天天操天天射天天 | 根深蒂固在线观看 | 欧美色图自拍 | 午夜视频导航 | 国内视频一区二区三区 | 欧美一级二级三级视频 | 日本成人午夜视频 | 久久av秘一区二区三区 | 日本黄色大片免费 | 国产99久久久国产精品 | 国产va视频| 久操国产视频 | 无码国产69精品久久久久网站 | 天天爱天天色 | 一级少妇女片 | 亚洲精品高清在线 | 国产一区视频在线免费观看 | 亚洲手机在线 | 成年人小视频 | 成熟丰满熟妇高潮xxxxx视频 | 日本大尺度做爰呻吟舌吻 | 少妇裸体视频 | 久久亚洲精华国产精华液 | 老牛影视少妇在线观看 | 在线观看中文字幕一区二区 | 亚洲福利二区 | fc2ppv在线播放| 色就操| 九一精品国产 | 亚洲欧美a| 在线黄色免费 | 女人性做爰100部免费 | 中文在线一区二区三区 |