我正在开发一个有durandal的SPA网站 这是我路由器的配置:
var routes = [{
url: 'profile',
moduleId: 'viewmodels/profile',
name: 'Profile',
visible: true
}, {
url: 'batchOverview',
moduleId: 'viewmodels/batchOverview',
name: 'Batche Overview',
visible: true
}, {
url: 'batch',
moduleId: 'viewmodels/batch',
name: 'Batche Detail',
visible: true
}, {
url: 'page',
moduleId: 'viewmodels/page',
name: 'Page',
visible: true
}];
当人们直接点击路由器时,地址栏中的网址如下:
http://localhost:7778/#/batch
我想要的是当人们直接点击路由器时,我可以在网址中添加参数。 网址可能如下所示:
http://localhost:7778/#/batch?pId=Gridsum&batchId=3
现在,当人们点击自定义按钮时,我可以使用router.navigateTo(url)来实现它。但是当人们直接点击路由器并动态更改参数时,我需要做到这一点。
我不知道在router.map()中设置observable是否可以。但我认为这不是一个好方法。有没有更好的方法来解决它?
答案 0 :(得分:0)
您可以在主视图模型上添加一个可观察属性,该属性包含批量URL(带参数)。 将此网址绑定到菜单的链接。 通过这样做,您将需要使用参数创建新路线。例如: ?/#/分批PID =:PID&安培; batchId =:出价
Durandal路由基于SammyJS。因此,如果您需要更多信息路线参数,请查看:SammyJS routes
我希望它有所帮助。