use*_*623 10 angular2-routing angular
在agnular2中是否有api允许传递json对象而不是字符串值.例如,Router.navigate()
我可以传递路由参数
Router.navigate('routename',[{key:stringvalue}])
Run Code Online (Sandbox Code Playgroud)
并可以使用RouteParams.get(key) : string
.但这只返回字符串值.我需要传递json对象.
感谢任何指针
另一个有效的解决方案是使用params
RouterParams 的属性.这可能不是首选方式,但它有效(从Beta8开始).
如果你导航,Router.navigate(['/myRoute',{someProperty:"SomeValue"}]
你可以访问参数:
constructor(routeParams: RouteParams){
let myPassedData: any = routeParams.params;
console.log(myPassedData.someProperty); #Prints "SomeValue"
}
Run Code Online (Sandbox Code Playgroud)
我认为这不可能是开箱即用的,因为路由依赖于 URL,并且路径变量和查询参数都是字符串。且RouterParams
仅RouterData
支持字符串属性。
JSON.stringify
为了模拟这一点,除了使用 JSON 对象进行编码并在另一端解析它们之外,我没有看到其他解决方案。
这是一个描述这一点的 plunkr:https://plnkr.co/edit/jbl7v5fHQEmf4F8tpXDO ?p=preview 。
希望它对你有帮助,蒂埃里
归档时间: |
|
查看次数: |
15805 次 |
最近记录: |