我的组件上有一个属性的双向绑定。目的是从用户获取URL,然后重定向到/report/<url>
。
问题是它在网址上出现问题并重新定向到report/http%3A
并错过了域名。
这是我到目前为止所做的:
HTML
<input type='text' [(ngModel)]='testUrl' />
<button class='btn btn-primary'(click)='checkMobile()'>Check Site</button>
组件
import { Component } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { Router } from '@angular/router';
@Component({
selector: "check-mobile",
templateUrl: "app/check-mobile.component.html"
})
export class CheckMobileComponent{
testUrl: string;
constructor(private router: Router)
{
}
checkMobile() : void {
var escapedUrl = encodeURI(this.testUrl);
this.router.navigateByUrl('/report/' + escapedUrl);
}
}
我做错了什么?
答案 0 :(得分:2)
使用Angular 2提供的QueryEncoder。执行此操作
import { QueryEncoder } from '@angular/http';
var encodedUrl = new QueryEncoder().encodeValue(this.testUrl);
this.router.navigate(['/report/' + escapedUrl]);