1.
Nawigacja ktora jest taka sama na każdej podstronie.
<ul class="nav navbar-nav"> <li class="clearfix"><a href="#start" du-scrollspy>Start</a></li> <li class="clearfix"><a href="#work" du-scrollspy>Portfolio</a></li> <li class="clearfix"><a href="#review" du-scrollspy>Opinie</a></li> <li class="clearfix"><a href="#contact" du-scrollspy>Kontakt</a></li> </ul>
configuracja routingu
var app = angular.module('APP', ['ngRoute','duScroll']); app.config(['$routeProvider','$locationProvider', function ($routeProvider,$locationProvider) { $routeProvider .when('/', { templateUrl: 'view/main.php' }) .when('/work/:id/:name/', { templateUrl: 'view/partials/work.php', controller: 'workCtrl' }) .otherwise({ redirectTo: '/' }); $locationProvider.html5Mode({ enabled: true, requireBase: true }); }]);
i base href ustawiony:
<base href="/dev/angular/app1/">
lub
<base href="http://nazwa.pl/dev/angular/app1/">
problem polegna na tym ze jak wejdę na podstronę www.nazwa.pl/dev/angular/app1/work/0/nazwa/ i po kliknięciu w nawigację w url dodaje się tylko np www.nazwa.pl/dev/angular/app1/work/0/nazwa/#start a powinno przeniesc na www.nazwa.pl/dev/angular/app1/#start
Jakby nie bierze pod uwage base href.
Moge w nawigacji ustawić <li class="clearfix"><a href="/dev/angular/app1/#start" du-scrollspy>Start</a></li> i działa poprawnie ale nie chce tak na sztywno tego ustawiać. Chciałem to zrobić za pomocą php i zmiennej globalnej (np BASEURL ='www.....';) ale po załadowaniu widoku ta zmienna nie ma zasięgu i adres wyglada np: www.nazwa.pl/dev/angular/app1/BASEURL#start
2.
Drugi problem jest taki: po kliknięci w link z # ( mam podpięta funkcję pod smoothscrolling -ale to chyba nie ma znaczenia) widok w ng-view się przeładowuje i jest efekt takiego błyśniecia (szybko się ta sawa zawartość ładuje).
Jest to chyba spowodowane eventem $locationChangeSuccess i pododanu np #start do url widok się odświeża. Jest mozliwość ominięcia tego ?
Próbowałem e.prevet default. Zadziałało ale wtedy w url nie zmieniał się adres.
Wdzięczny będę za wskazówki.