AngularJS - 使用routeProvider"当"变量构造templateUrl名称?

Geo*_*lov 21 controller angularjs angularjs-routing route-provider

所以这就是我想要完成的事情:

'use strict';

var app = angular.module('myModule', ['ngRoute']);

app.config(function($routeProvider) {
  $routeProvider
    .when('/', {
      redirectTo: '/pages'
    })
    .when('/pages/:pageName', {
      templateUrl: 'views/pages/'+pageName+'html',
      controller: 'MainController'
    });
});
Run Code Online (Sandbox Code Playgroud)

基本上,我想使用uri来确定使用哪个模板.目前我收到一个错误,我没有定义pageName,我理解.这样做会有什么不同的方式?谢谢!

dfs*_*fsq 38

templateUrl 可以是接受路径参数对象的函数:

.when('/pages/:pageName', {
    templateUrl: function(params) {
        return 'views/pages/' + params.pageName + '.html';
    },
    controller: 'MainController'
});
Run Code Online (Sandbox Code Playgroud)


小智 5

templateUrl可以用作返回生成的URL的函数.我们可以通过传递带有routeParams的参数来操纵url.

查看示例.

.when('/:screenName/list',{
    templateUrl: function(params){
         return params.screenName +'/listUI'
    }
})
Run Code Online (Sandbox Code Playgroud)

希望这有帮助.