Я делаю простой раздел блога на своем веб-сайте, поэтому я хочу иметь пространство имен, называемое сообщениями, которое динамически ссылается на шаблон сообщения. У каждого из этих сообщений будет свой собственный шаблон (например, posts/some_post.html), поскольку они слишком разные, чтобы просто использовать данные json для заполнения общего шаблона.
Я хочу иметь пространство имен, которое позволяет мне создавать ссылки на каждое сообщение, чтобы я мог публиковать в рабочей среде: mysite/posts/my_new_post. Однако добавление сообщений в URL-адрес .state приводит к невозможности создания экземпляра ошибки модуля.
Это фрагмент рабочего кода:
.config(["$urlRouterProvider", "$stateProvider","$locationProvider", function ($urlRouterProvider, $stateProvider,$locationProvider){
$urlRouterProvider.otherwise('/');
$locationProvider.html5Mode(true);
$stateProvider
.state('posts', {
url: '/:postID',
templateUrl : function($stateParams){
return 'templates/posts/' + $stateParams.postID + '.html';
},
});
}]);
Этот код работает, и я могу ссылаться на сгенерированные URI. При переходе по этой ссылке:
li><a ui-sref="posts({postID: 'blog2'})">blog 2</a></li>
URI становится веб-сайтом/блогом2, а с веб-сайта/дома я могу ссылаться на URI.
ОДНАКО, если я попытаюсь добавить пространство имен, я получу ошибку:
.state('posts', {
url: '/posts/:postID', // note i added posts before the id
templateUrl : function($stateParams){
return 'templates/posts/' + $stateParams.postID + '.html';
},
Ссылка будет работать в первый раз и приведет меня на нужную страницу, однако, если я наберу шаблон URI mysite/posts/blog1, я получу: Uncaught Error: [$injector:modulerr] error, и это странное: Uncaught SyntaxError: Неожиданный маркер <
Почему-то не загружается angular, у кого-нибудь есть идеи?