Angular 模板渲染未编码 URL

Angular template rendering non-encoded URL

如何呈现未编码的 URL。下面是一个示例

import { Component } from '@angular/core';
import { Router } from '@angular/router';

@Component({
  selector: 'demo-app',
  template: `<a [routerLink]="stringURL">Click here</a>`,
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  stringURL:string;

  constructor(){
    this.stringURL = "/url;mode=3"
  }
}

模板中的 URL 已编码为 /url%3Bmode%3D3 的字符串,我希望它像 /url;mode=3

我怎样才能做到这一点。

示例如下:https://stackblitz.com/edit/angular-q6mf3p

谢谢

您必须禁用 angular 默认 URL 编码。

很好地解释了解决方案。

如果link是静态的,可以使用如下指令:link to user component

如果您使用动态值生成 link,您可以传递一个路径段数组,然后是每个段的参数。

例如['/url',{mode: 3}]表示我们要生成一个link到/url;mode=3.

你的代码可以工作看到这个新的 link click to see

import { Component } from '@angular/core';
import { Router } from '@angular/router';

@Component({
  selector: 'demo-app',
  template: `<a [routerLink]="stringURL">Click here</a>`,
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  stringURL:any;

  constructor(){
    this.stringURL = ["/url",{mode:3}]
  }
}