编码双向绑定的值

时间:2017-03-10 14:50:54

标签: javascript angular

我的组件上有一个属性的双向绑定。目的是从用户获取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);
    }
}

我做错了什么?

1 个答案:

答案 0 :(得分:2)

使用Angular 2提供的QueryEncoder。执行此操作

import { QueryEncoder } from '@angular/http';

var encodedUrl = new QueryEncoder().encodeValue(this.testUrl);
this.router.navigate(['/report/' + escapedUrl]);