使用routeParams在AngularJS中创建templateUrl

时间:2014-11-25 09:20:56

标签: javascript angularjs angular-ui-router

是否可以将路线参数用作路线的一部分?

E.g。

when('/static/:dynamic', {
    templateUrl: 'partials/static/:dynamic.html',
    controller: 'staticController'
})

我不需要动态控制器。我只需要动态解析URL。

1 个答案:

答案 0 :(得分:1)

我已经找到了合适的解决方案。

您可以将函数放入templateUrl:

when('/static/:dynamic', {
    templateUrl: function(urlattr){
        return urlattr.dynamic + '.html';
    },
    controller: 'staticController'
})

它也可以在路径中放入一个*,它允许你将整个路径作为一个字符串:

when('/:dynamic*', {
    templateUrl: function(urlattr){
        return urlattr.dynamic + '.html';
    },
    controller: 'staticController'
})

使用该解决方案,您可以使用" localhost:13370 / app / index.html#/ static / dynamic / random"作为URL并得到"静态/动态/随机"在urlattr.dynamic中作为字符串。