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。

相关内容

热门资讯

透视辅助!wepoker有没有... 透视辅助!wepoker有没有透视方法(透视)拱趴大菠萝万能挂,教程要领(有挂秘诀)-哔哩哔哩1、让...
透视分享!wepoker透视脚... 透视分享!wepoker透视脚本免费使用视频(透视)智星德州插件,教程妙计(有挂讲解)-哔哩哔哩在进...
透视普及!wepoker有辅助... 透视普及!wepoker有辅助功能吗(透视)wpk德州局透视,教程窍要(有挂助手)-哔哩哔哩1、we...
透视推荐!云扑克有透视吗(透视... 透视推荐!云扑克有透视吗(透视)wepokerplus万能挂,教程诀窍(有挂规律)-哔哩哔哩1、该软...
透视解谜!拱趴大菠萝机器人(透... 透视解谜!拱趴大菠萝机器人(透视)wpk辅助是什么,教程法门(有挂秘诀)-哔哩哔哩1、游戏颠覆性的策...
透视详细!aa poker透视... 透视详细!aa poker透视软件(透视)红龙poker辅助,教程大纲(有挂存在)-哔哩哔哩1、aa...
透视科普!wepoker透视视... 透视科普!wepoker透视视频(透视)wepoker透视脚本免费下载,教程机巧(有挂方略)-哔哩哔...
透视曝光!wepoker辅助器... 透视曝光!wepoker辅助器如何使用(透视)wepoker透视器免费,教程手段(有挂技巧)-哔哩哔...
透视推荐!德州局怎么透视(透视... 透视推荐!德州局怎么透视(透视)wejoker辅助软件,教程法门(有挂神器)-哔哩哔哩1、完成德州局...
透视开挂!哈糖大菠萝万能挂(透... 透视开挂!哈糖大菠萝万能挂(透视)wpk辅助哪里买,教程积累(有挂辅助)-哔哩哔哩1、玩家可以在哈糖...