Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有方法使用routerLink/router.navigate附加查询/路由参数?_Javascript_Angular_Angular2 Routing - Fatal编程技术网

Javascript 是否有方法使用routerLink/router.navigate附加查询/路由参数?

Javascript 是否有方法使用routerLink/router.navigate附加查询/路由参数?,javascript,angular,angular2-routing,Javascript,Angular,Angular2 Routing,我正在显示一个包含搜索和分页的项目列表,并且我希望在其他参数更改时保留现有的查询参数 因此,我可以使用类似于/items?page=3&size=10&title=Hey和router的东西。导航('RouteName',{title:'Hello'})只会更改标题,保留页面和大小 这在安圭拉2目前可能吗?或者,如果没有,我是否可以用这个功能扩展路由器,或者公开另一种方法,比如说“NavigateSafly”,来保存参数?然后是模板的routerLink 我已经看过路由器的源代码了,但是。。。我

我正在显示一个包含搜索和分页的项目列表,并且我希望在其他参数更改时保留现有的查询参数

因此,我可以使用类似于
/items?page=3&size=10&title=Hey
router的东西。导航('RouteName',{title:'Hello'})
只会更改标题,保留页面和大小

这在安圭拉2目前可能吗?或者,如果没有,我是否可以用这个功能扩展路由器,或者公开另一种方法,比如说“NavigateSafly”,来保存参数?然后是模板的
routerLink

我已经看过路由器的源代码了,但是。。。我不能理解它的头绪;教学类本身似乎过于复杂


有人能解释一下吗?

路由器目前没有任何内置的方法或设置来在导航时保留现有的路由参数

据我所知,路由器也不容易扩展;它的使用比常规服务更复杂

如果有什么变化,我会更新这个答案

下面是使用下划线和路线图的最佳方法:

this._router.navigate([route, _.assign(this._params.params, { page: page })]);

您使用的Angular2版本是什么?自RC.0以来,有一个新路由器。您需要明确地传递所有参数。如果你想保留一些不变的代码,那么就获取它们,并将它们原封不动地传递给别人。我尝试使用最新的beta版。那里也一样,但是如果你想要具体的代码,那么实际的版本很重要。我想你需要提供更多的细节。如果某些参数必须在导航过程中保持不变(除非用户决定更改),则routerLink所在的位置(根组件或“任意”组件或当前路由添加的组件中,…)不同我会考虑在“CONFIG.Service”对象中设置这些参数,这些对象是通过依赖注入来传递的。我希望我已经理解了这个问题。