Javascript 角路由中的动态页面
我试图在Angular 1.3中实现动态布线。类似于它所描述和描述的东西。这些例子表明:Javascript 角路由中的动态页面,javascript,angularjs,angular-ui-router,angularjs-routing,Javascript,Angularjs,Angular Ui Router,Angularjs Routing,我试图在Angular 1.3中实现动态布线。类似于它所描述和描述的东西。这些例子表明: $routeProvider.when('/:group/:pagename', { controller: 'RouteCtrl', templateUrl: 'uirouter.html' }) 然后控制器将通过$routeParams访问group和pagename。行得通 我正在尝试使此路由更具动态性,并动态选择模板和控制器: $routeProvider.when('/:grou
$routeProvider.when('/:group/:pagename', {
controller: 'RouteCtrl',
templateUrl: 'uirouter.html'
})
然后控制器将通过$routeParams访问group和pagename。行得通
我正在尝试使此路由更具动态性,并动态选择模板和控制器:
$routeProvider.when('/:group/:pagename', {
controller: $routeParams.group + 'Ctrl',
templateUrl: $routeParams.pagename + '.html'
})
当我在上设置断点时,
可以看到有一个$get属性,其函数的参数之一是$routeParams。但我不知道如何检索它的值
该项目处于非常早期的阶段-我可以使用ui路由器或ng路由器,如果其中任何一个具有此功能。对于动态模板URL部分,您可以尝试:
$routeProvider.when('/:group/:pagename', {
controller: "SomeCtrl",
templateUrl: function(params){return params.pagename + '.html';}
})
但是,不确定是否可以对控制器执行相同操作。对于动态模板URL部分,您可以尝试:
$routeProvider.when('/:group/:pagename', {
controller: "SomeCtrl",
templateUrl: function(params){return params.pagename + '.html';}
})
但是,不确定控制器是否可以执行相同操作。您可以声明一个函数,该函数将返回
模板URL
字符串,而不是直接值,即:
$routeProvider.when('/:group/:pagename', {
controller: $routeParams.group + 'Ctrl',
templateUrl: function (routeParams) {
return routeParams.pagename + '.html';
}
});
我想对于控制器
,情况可能也是如此,但您必须测试一下,因为我从未在控制器上使用过它
这就是说,如果你有这么多的动态逻辑在这里,也许不是把它当作不同的控制器,您可以将这些视图封装为不同的指令和
ng if
特定指令,具体取决于$routeParams
,该指令将在一个包装控制器中设置?您可以声明一个函数,该函数将返回模板URL
字符串,即:
$routeProvider.when('/:group/:pagename', {
controller: $routeParams.group + 'Ctrl',
templateUrl: function (routeParams) {
return routeParams.pagename + '.html';
}
});
我想对于控制器
,情况可能也是如此,但您必须测试一下,因为我从未在控制器上使用过它
这就是说,如果您在这里有这么多动态逻辑,可能不需要将其视为不同的控制器,您可以将这些视图封装为不同的指令,并根据$routeParams
将在一个包装控制器中设置的ng if
特定指令来实现(我很难为情,我错过了它…但我如何在控制器中找到$routeParams
?我尝试注入,它给了我“未知提供者”模板URL是正确的(我很难为情,我错过了它…但我如何在控制器中找到$routeParams
?我尝试注入,它给了我“未知提供者”