我正在使用angular dart Router软件包,并在用户单击特定菜单项时使用以下代码将查询参数附加到路由(称为此路由a):
Future<NavigationResult> onSelect(int newId) => _router.navigate(
RoutePaths.path.toUrl(),
newId == null ? null : NavigationParams(queryParameters: {idParam: '$newId'})
);
如果我随后在页面上单击新路线,然后返回路线a,我希望该路线继续具有我附加到其上的查询参数。
我可能会采用错误的方法,但是我建议的解决方案是将查询参数存储在localStorage中,然后在用户从页面导航到页面时尝试将其附加到RouteLink。因此,在我的导航模板中,我将得到以下内容:
<li class="nav-item">
<a class="nav-link" [routerLink]="RoutePaths.alerts.toUrl()" [queryParams]="path-id" [routerLinkActive]="'active'">Alerts</a>
</li>
从本地存储中填充路径ID的地方。
此问题是queryParams选项似乎不起作用?如果确实存在以这种方式添加查询参数的选项,我不确定应该用什么替换它。我仔细阅读了文档,可以找到路由器的有效属性绑定列表。如果您能指出我的观点,那将会有所帮助。
有人可以告诉我:1)我会以错误的方式处理吗?有没有更简单的方法来维护queryParameters? 2)如何在模板中动态设置queryParameters?