Javascript 如何从url durandal获取参数值
在杜兰达尔,我有地图路由器Javascript 如何从url durandal获取参数值,javascript,durandal,single-page-application,singlepage,Javascript,Durandal,Single Page Application,Singlepage,在杜兰达尔,我有地图路由器 router.map([ { route: 'tickets/:id', moduleId: 'tickets/thread', nav: true } ]).buildNavigationModel(); 我在地址栏中有链接 http://localhost:8083/#tickets/ticket001 在我的viewModel中,如何获取id的值?我找到了anwers,使用路由插件: define(['knockout', 'plu
router.map([
{ route: 'tickets/:id', moduleId: 'tickets/thread', nav: true }
]).buildNavigationModel();
我在地址栏中有链接
http://localhost:8083/#tickets/ticket001
在我的
viewModel
中,如何获取id
的值?我找到了anwers,使用路由插件:
define(['knockout', 'plugins/router'],
function (ko, router) {
return {
param = router.activeInstruction().params[0]
};
});
您还可以通过视图模型上的激活功能获取它们。路由器中的所有参数都将作为参数传递给activate函数。请参阅路由器文档中的“路由参数和查询字符串”部分:
您最初是如何导航到ticket001的?我想你已经通过了那个id,是吗?@AdelSal:
window.location.href='#tickets/ticket01'代码>我发现arg是作为字符串传递的(这很有意义),但在使用TypeScript时,这一点并没有被接受。因此,尽管有一个arg声明为数字
,该值还是一个字符串。有趣的时光。使用router.activeInstruction().queryParams
更好、更一致。因为如果在多个页面上相继使用querystring,则查询参数可以位于params[1]