Angular ngRoute基于查询参数

时间:2016-07-31 06:23:12

标签: angularjs ngroute angularjs-ng-route

我在角度应用程序中使用ngRoute,如果我可以扩展它以进行一些自定义路由,我很好奇。

例如,我想读取URL中的某些查询字符串来进行路由。如果网址以" index.html?Contacts"等结尾。我想将此邮件发送到我的联系人模板。

$routeProvider
        .when('index.html?Home', {
            templateUrl: 'app/home/index.html',
            controller: 'HomeController'
        })
        .when('index.html?Contacts', {
            templateUrl: 'app/contacts/index.html',
            controller: 'ContactsController'
        })
        .when('index.html?About', {
            templateUrl: 'app/about/index.html',
            controller: 'AboutController'
        })

如上所示,我还希望保留" index.html"在URL中。这可能吗?

1 个答案:

答案 0 :(得分:0)

当您查看$ routeProvider文档时,您了解routeProvider有两个参数

when(path, route);

路径和路线。

此处Path不是实际的index.html页面,而是您想要在特定页面被点击时在浏览器中显示的虚拟路径。

所以你总能做这样的事情

$routeProvider
        .when('index/Home', {
            templateUrl: 'app/home/index.html',
            controller: 'HomeController'
        })
        .when('index/Contacts', {
            templateUrl: 'app/contacts/index.html',
            controller: 'ContactsController'
        })
        .when('index/About', {
            templateUrl: 'app/about/index.html',
            controller: 'AboutController'
        })