Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从url durandal获取参数值_Javascript_Durandal_Single Page Application_Singlepage - Fatal编程技术网

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]