Подтвердить что ты не робот

AngularJS - использовать routeProvider "когда" переменные для создания имени templateUrl?

Итак, это то, что я пытаюсь выполнить:

'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 для определения того, какой шаблон используется. В настоящее время я получаю сообщение об ошибке, что имя_папки не определено, которое я понимаю. Что было бы другим способом сделать это? Спасибо!

4b9b3361

Ответ 1

templateUrl может быть функцией, принимающей объект параметров маршрута:

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

Ответ 2

templateUrl может использоваться как функция с возвращаемым сгенерированным URL-адресом. Мы можем манипулировать URL-адресом с передающим аргументом, который принимает routeParams.

См. пример.

.when('/:screenName/list',{
    templateUrl: function(params){
         return params.screenName +'/listUI'
    }
})

Надеюсь на эту помощь.