Angular路由在路由中添加%2F而不是斜杠
创始人
2024-10-28 05:31:01
0

问题描述:在Angular路由中使用斜杠(/)时,会自动转义为%2F。

解决方法: 在Angular路由的配置文件中,可以使用encodeURIComponent()方法将斜杠(/)转义为%2F。

示例代码:

app-routing.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

import { HomeComponent } from './home/home.component';
import { AboutComponent } from './about/about.component';

const routes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'about/:param', component: AboutComponent },
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

about.component.ts

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';

@Component({
  selector: 'app-about',
  templateUrl: './about.component.html',
  styleUrls: ['./about.component.css']
})
export class AboutComponent implements OnInit {
  param: string;

  constructor(private route: ActivatedRoute) { }

  ngOnInit() {
    this.route.params.subscribe(params => {
      this.param = params['param'];
    });
  }

}

about.component.html

Param: {{ param }}

在上述示例代码中,路由配置文件app-routing.module.ts中的about路由使用了参数:param。当在浏览器地址栏中输入/about/test时,Angular会将/test作为参数传递给about组件,并显示在about.component.html中。

如果参数中包含斜杠(/),例如/about/test/path,Angular会将斜杠转义为%2F,即/about/test%2Fpath。在about组件中,可以使用decodeURIComponent()方法将%2F转义回斜杠。

about.component.ts

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';

@Component({
  selector: 'app-about',
  templateUrl: './about.component.html',
  styleUrls: ['./about.component.css']
})
export class AboutComponent implements OnInit {
  param: string;

  constructor(private route: ActivatedRoute) { }

  ngOnInit() {
    this.route.params.subscribe(params => {
      this.param = decodeURIComponent(params['param']);
    });
  }

}

这样,当在浏览器地址栏中输入/about/test%2Fpath时,Angular会将/test%2Fpath作为参数传递给about组件,并显示在about.component.html中的param变量中,此时param的值为test/path。

相关内容

热门资讯

推荐一款!手机透视辅助器app... 推荐一款!手机透视辅助器app,爱玩娱乐暗堡辅助,2026新版(有挂神器)-哔哩哔哩 了解更多开挂安...
必备攻略!皮皮胡子辅助,hhp... 必备攻略!皮皮胡子辅助,hhpoker辅助是真的吗,解密教程(今日头条)-哔哩哔哩;打开点击测试直接...
分享认知!杭州都莱辅助软件下载... 分享认知!杭州都莱辅助软件下载,红龙poker辅助工具,微扑克教程(有挂秘笈)-哔哩哔哩;无需打开直...
必看攻略!欢乐茶馆挂,德州hh... 必看攻略!欢乐茶馆挂,德州hhpoker是真的吗,黑科技教程(有挂头条)-哔哩哔哩 【无需打开直接搜...
推荐十款!陕西扣点点脚本辅助器... 推荐十款!陕西扣点点脚本辅助器,创思维激k看底牌辅助,靠谱教程(有挂秘诀)-哔哩哔哩【无需打开直接搜...
透视好牌!陕麻圈破解,hhpo... 透视好牌!陕麻圈破解,hhpoker辅助靠谱吗,透明挂教程!(有挂头条)-哔哩哔哩;亲,陕麻圈破解这...
记者爆料!微乐自建房怎么提高胜... 微乐自建房怎么提高胜率是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以...
总算明白!上饶打炸作弊,德州局... 上饶打炸作弊开挂教程视频分享装挂详细步骤在当今的网络游戏中,上饶打炸作弊作为一种经典的娱乐方式,吸引...
重大通报!四川微乐自建房辅助器... 重大通报!四川微乐自建房辅助器,杭州都莱破解版,玩家教你(有挂技巧)-哔哩哔哩;无需打开直接搜索打开...
今日头条!填大坑辅助视频,广东... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...