使用angularjs动态创建页面(视图)的URL

时间:2015-07-28 04:54:56

标签: angularjs url-rewriting angular-ui-router route-provider

我开发了一个表单构建器,用户(管理员)可以在其中添加(创建)新页面,然后为该页面分配URL。

我在映射这些动态创建的网页的Url时遇到困难,因为我无法遍历Urls。我必须使用这个when(这就像if,else)。像

var dunamicUrl = 'UserAssignedUrl';
var somevar = dunamicUrl+".html"; // I create view with same name as
//Url given by user for new created page

function config($routeProvider, $locationProvider)
{
    $routeProvider
        .when('/'+dunamicUrl, {
            controller: 'CommonController',
            templateUrl: somevar,
            controllerAs: 'vm'
        }).when('/register', {
            controller: 'RegisterController',
            templateUrl: 'register.html',
            controllerAs: 'vm'
        }).otherwise({ redirectTo: '/login' });
}

但我不想为动态视图硬编码Urls,因为它们可能会被用户更改。我想让这个解决方案为我工作AngularJS dynamic routing

 $routeProvider.when('/page/:name*', {
        templateUrl: function(urlattr){
            return '/pages/' + urlattr.name + '.html';
        },
        controller: 'CMSController'
 });

作为角度的初学者,上面的解决方案对我来说有一些困惑,特别是如何设置urlattr。 urlattr.name会在其他地方生成什么?Second, can I replace / page /:name *'with / page /:xyz *'? Do I need to define this xyz`?

0 个答案:

没有答案