$routeProvider (templateUrl) и $route.reload()

258
27 ноября 2017, 20:22

Здравствуйте! Возникла проблема с данным кодом: app.config(['$routeProvider', function ($routeProvider, $route, $routeParams, $templateCache) { $routeProvider.when('/', { templateUrl: 'index.php', controller: 'clearRoute' }) .when('/contact', { controller:'clearRoute', templateUrl: 'contact.php' }) .when('/post', { controller:'clearRoute', templateUrl: 'post.php' }) .when('/post/:postId', { templateUrl: function(params){ return '/post.php?post=' + params.postId; }, controller: 'clearRoute' }) .when('/404', { controller:'clearRoute', template: "<h1>Page not found</h1>" }) .otherwise({ redirectTo: '/404' }); }]); app.controller('clearRoute', function($scope, $route, $templateCache) { var currentPageTemplate = $route.current.templateUrl; $templateCache.remove(currentPageTemplate); $route.reload(); }); Проблема возникает с данной частью when('/post/:postId', { templateUrl: function(params){ return '/post.php?post=' + params.postId; }, controller: 'clearRoute' }) Мне нужно передать каким-то образом параметр роута postId, решение нашел, но как кажется мне, из-за вот этого решения ( function(params() {} ) ничего и не получается. Вообщем, сама проблема: когда я пытаюсь перейти на адрес "http://site/#/post/423" - страницу выводит, всё хорошо. Но помимо этого, мне надо чтобы когда эта страница подгружалась происходила функция $route.reload() т.е. страница грузилась заново (например: если я сделал изменения, они были видны без полного обновления страницы ( http://site/#/post/423 ). Для этих действий я подключил контроллер с кодом: app.controller('clearRoute', function($scope, $route, $templateCache) { var currentPageTemplate = $route.current.templateUrl; $templateCache.remove(currentPageTemplate); $route.reload(); }); Но с этим контроллером страница просто умирает, и надо просто перезагружать вкладку. Вопрос: есть ли какой-то иной (если можно не сильно многострочный код) для передачи роутПараметров в templateUrl да и перезагрузки сохраненного темплейта в роуте ( $route.reload() ); Спасибо!)

READ ALSO
Выпадающее меню с под меню

Выпадающее меню с под меню

Создал вертикальный аккордеон так что отрытии второго вертикального элемента в списке, закрывается предыдущий это хорошо, но плохо что при...

253
AngularJS, 3 кнопки которые меняют друг друга

AngularJS, 3 кнопки которые меняют друг друга

Есть 3 кнопки, 2 из которых скрытыПри нажатии на кнопку, первая кнопка скрывается, появляется вторая

283
&ldquo;Функция - объект первого класса&rdquo; - почему?

“Функция - объект первого класса” - почему?

В различной литературе (в частности на википедии, у Стефанова, у Сошникова) функции в JavaScript называют "объектами первого класса"Понятно, что...

238
узнать, авторизован ли пользователь youtube v3 oAuth2

узнать, авторизован ли пользователь youtube v3 oAuth2

Имеется регистрация посредством oAuth 20 на ютубе, требуется скрывать\показывать кнопку авторизации в зависимости от того, зарегистрирован...

276