是否可以从routeProvider中的控制器加载url?
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/LALA', {
controller: 'LalaController',
templateUrl: '/mlala.html'
})
.when('/HOHO', {
controller: 'HohoController',
templateUrl: '/hoho.html'
})
.otherwise({redirectTo: '/'});
我想要这样的事情:
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/MO', {
controller: 'MOController',
templateUrl: $scope.url
})
.when('/MOCache', {
controller: 'MOCacheController',
templateUrl: $scope.url
})
.otherwise({redirectTo: '/'});
路由URL将在控制器中定义。
答案 0 :(得分:2)
嗯,不。
但是你可以使用命名组,为templateUrl
分配一个函数并获取传入的路由参数:
.when('/MO/:page', { // <-- ':page' is a named group in the pattern
controller: 'MOController',
templateUrl: function (params) {
// use the route parameters to return a custom route
return 'views/partials/mo/' + params.page + '.html';
}
})
您可以在视图中注入您喜欢的任何自定义参数,例如:
<!-- 'paws' and 'whiskers' will be passed to the route params -->
<a href="/MO/paws">paws page!</a>
<a href="/MO/whiskers">whiskers page!</a>
看,妈妈,没有管制员!
$routeProvider
关于AngularJS文档。