来自ActivatedRoute params的角度读取数组

时间:2017-07-19 10:33:16

标签: angular

我正在观察阅读ActivatedRoute params时看起来不一致的格式。

  • 首次使用网址(localhost:1/a;t=1,2)中的参数数组到达组件时,params['t']以字符串形式显示:'1,2'
  • 稍后通过路由器以编程方式导航时,会生成相同类型的网址(localhost:1/a;t=1,2),但现在params['t']是一个数字数组[1, 2]

在这两种情况下,params都是通过相同的订阅获得的,在init:

完成
constructor(private router: Router, private route: ActivatedRoute) {}

ngOnInit() {
  this.route.params.subscribe((params: Params) => {
      console.info(JSON.stringify(params)),
  });
}

// if needs be, here's how I perform the programmatic navigation
this.router.navigate(['.', {t:[1,2]}], {relativeTo: this.route})

当然我可以在使用之前检查我得到并转换的参数的类型,但它看起来有点难看。这件事是已知的还是我错过了什么?

0 个答案:

没有答案