Angular2路由器链接与JSON参数

时间:2016-08-01 17:46:06

标签: angular2-routing

我有一个angular2应用程序而且我在使用后退按钮时遇到了问题。

我有一个带有queryString参数的路由器链接。参数(名为filter)的值为JSON。

我的路由器链接定义如下:

 <a [routerLink]="['/app/listing', {filter: getFilter(model.id)}]">{{model.count}}</a>

getFilter方法执行此操作:

getFilter(id) {
        return JSON.stringify({ Country: [id] });
    }

返回如下表达式:

  

“{” 国家 “:[9]}”

我想要一个这样的查询字符串。

  

http://localhost:54675/app/listing?filter= { “国家”:[6]}

这就是Angular程序集:

  

http://localhost:54675/app/listing;filter=%7B%22Country%22:[6]%7D

网址编码更改了引号和括号。我不完全明白为什么?被替换为;。

这很好用,列表页面处理过滤器。但是,如果我向下钻取然后返回,则在过滤器上调用JSON.Parse时会出现此错误:

  

位置0的JSON中出现意外的标记%

当我第一次使用路由器链接进入页面时,过滤器值为:

  

“{” 国家 “:[6]}”

但是当我使用时,过滤器的值是:

  

“%7B%22Country%22:[6]%7D”

0 个答案:

没有答案