如何使用angularjs ngRoute创建路线图

时间:2015-01-08 06:32:07

标签: javascript angularjs angular-ui-router angularjs-routing

我正在创建类似于gdrive或dropbox的Web应用程序,当我通过链接浏览我的文件夹时,我需要在url中获取路径。我需要使用angularJS来改变客户端本身的路径。

e.g

 $stateProvider
        .state('/root', 
                    {
                     url: "/root",
                     templateUrl: "cloud.html"
                    })
        .state('root.___', 
                    {
                        url: "/root/:path",
                        templateUrl: "cloud.html"
                    })
        .otherwise({ redirectTo: "/root" });
       });

无需更改控制器和模板,只需要更改网址,如下所示

http://mycloud.com/newfolder/newfolder or http://mycloud.com/newfolder/.../.../../folder

如何在角度js ui-router中实现这一点需要填充空白区域?

1 个答案:

答案 0 :(得分:0)

___可以替换为'路径'或您选择的任何其他状态。

$stateProvider .state('/root', { url: "/root", templateUrl: "cloud.html" }) .state('root.path', { url: "/root/:path", templateUrl: "cloud.html" }) .otherwise({ redirectTo: "/root" }); });

由于您的网址中已有参数:path,因此会处理您的网址。 在使用ui-sref时,只需将参数path与它一起传递。

<a ui-sref="root.path({path:your-path-here})">Path</a>

您需要记住状态遵循层次结构。请参阅angular-ui's state页。