我开发了一个表单构建器,用户(管理员)可以在其中添加(创建)新页面,然后为该页面分配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`?