Angular-处理带有查询参数的路由模态的正确方法

问题描述 投票:-1回答:1

我正在开发一个具有对表进行分页/排序的现有应用程序。

因此,假设我在网址为的页面上:http://www.brilliantapplication.com/table;sort=name,desc

现在我在此页面上有一个按钮,它将通过路由调用模式。如果您没有排序/分页,则此方法有效。但是,如果存在排序/分页,则不会,因为URL类似于:http://www.brilliantapplication.com/table;sort=name,desc/create_modal

如何正确处理?1 /请问有什么方法可以存储查询参数,调用http://www.brilliantapplication.com/table/create_modal作为纯净网址当关闭模态时,返回http://www.brilliantapplication.com/table;sort=name,desc也许使用router.navigate的state属性传递数据?2 /不用路由就可以打开模态更好吗?3 /做一些路由技巧,使http://www.brilliantapplication.com/table;sort=name,desc/create_modal被接受并起作用

欢呼声

angular routing modal-dialog
1个回答
0
投票

我认为这里的选择取决于您是否希望能够直接使用URL来引用模式。

如果需要,那么我建议将您的网址改成类似的内容

 http://www.yoursite.com/table?sort=name,desc 

[当您想将它们引用到模式时,您也可以将参数传递给另一个URL,如下所示:

http://www.yoursite.com/table/modal?sort=name,desc 

如果想将参数返回到基本/ table页面,可以用两种方法解决参数保存问题。如果先前的URL是模式链接,则可以侦听路由器的更改并复制参数,也可以将html中的routerLink更改为表格页面,然后将当前参数放在此处。

如果不需要直接引用模式,最好将信息存储在服务中或将其保存在组件本身中,因为模式可以直接加载在组件顶部。

© www.soinside.com 2019 - 2024. All rights reserved.