角度模板渲染非编码URL

时间:2018-12-04 02:25:17

标签: angular5 angular2-routing url-encoding angular-template

如何呈现未编码的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

谢谢

2 个答案:

答案 0 :(得分:4)

您必须禁用默认的角度URL编码。

This post很好地说明了解决方案。

答案 1 :(得分:1)

如果链接是静态的,则可以使用如下指令:链接到用户组件

如果使用动态值生成链接,则可以传递路径段数组,然后传递每个段的参数。

例如['/ url',{mode:3}]表示我们要生成一个指向/ url; mode = 3的链接。

您的代码将起作用,看到此新链接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}]
  }
}