Say*_*yem 8 aurelia aurelia-router
我有一个项目清单.当用户点击某个项目时,该用户将被带到项目详细信息页面.
我想将包含项目详细信息(如项目的图像URL)的对象传递给路径.但是,我不想在路由url中公开它.
如果有办法做这样的事情<a route-href="route: details; settings.bind({url: item.url})">${item.name}</a>就是黄金.
我已经看到如果在路由配置中定义了属性,则可以将属性传递给路由.但是,我不知道如何从模板中更改它.另一种方法是定义单例并将值存储在那里并将对象注入目标路由.
有没有办法将值传递给视图中的路径(如angular ui-routers param对象)?
Say*_*yem 11
好的,所以我找到了一种方法来实现更接近我想要的东西:
目标:将数据传递到路线而不将其暴露在位置栏中.
假设我们有一个用户列表,我们希望将其传递username给用户的个人资料页面,而不将其定义为查询参数.
在视图模型中,首先注入Router然后将数据添加到目标路由器:
goToUser(username) {
let userprofile = this.router.routes.find(x => x.name === 'userprofile');
userprofile.name = username;
this.router.navigateToRoute('userprofile');
}
Run Code Online (Sandbox Code Playgroud)
现在当路由更改为时userprofile,您可以访问路径设置作为activate方法的第二个参数:
activate(params, routeData) {
console.log(routeData.name); //user name
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4707 次 |
| 最近记录: |