当前位置:  开发笔记 > 编程语言 > 正文

将值传递给路由

如何解决《将值传递给路由》经验,为你挑选了1个好方法。

我有一个项目清单.当用户点击某个项目时,该用户将被带到项目详细信息页面.

我想将包含项目详细信息(如项目的图像URL)的对象传递给路径.但是,我不想在路由url中公开它.

如果有办法做这样的事情${item.name}就是黄金.

我已经看到如果在路由配置中定义了属性,则可以将属性传递给路由.但是,我不知道如何从模板中更改它.另一种方法是定义单例并将值存储在那里并将对象注入目标路由.

有没有办法将值传递给视图中的路径(如angular ui-routers param对象)?



1> Sayem..:

好的,所以我找到了一种方法来实现更接近我想要的东西:

目标:将数据传递到路线而不将其暴露在位置栏中.

假设我们有一个用户列表,我们希望将其传递username给用户的个人资料页面,而不将其定义为查询参数.

在视图模型中,首先注入Router然后将数据添加到目标路由器:

goToUser(username) {
    let userprofile = this.router.routes.find(x => x.name === 'userprofile');
    userprofile.name = username;
    this.router.navigateToRoute('userprofile');
}

现在当路由更改为时userprofile,您可以访问路径设置作为activate方法的第二个参数:

activate(params, routeData) {
    console.log(routeData.name); //user name
}

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有