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