一尘不染

AngularJS-使用routeProvider“何时”变量构造templateUrl名称?

angularjs

这就是我要完成的工作:

'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'
    });
});

基本上,我想使用uri确定使用哪个模板。目前,我收到一个错误,提示我未理解pageName。有什么不同的方式可以做到这一点?谢谢!


阅读 181

收藏
2020-07-04

共1个答案

一尘不染

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

.when('/pages/:pageName', {
    templateUrl: function(params) {
        return 'views/pages/' + params.pageName + '.html';
    },
    controller: 'MainController'
});
2020-07-04