2013-06-26 10 views
7

Chciałbym rozpocząć nawigację od http://mysite.com/hello/world, a nie od strony głównej.Jak ustawić lokalizację root dla routera AngularJS?

np.

$routeProvider 
    .when('/myurl', { 
    templateUrl: 'mytmpl.html', 
    controller: 'MyCtrl' 
    }); 

powinna reagować, kiedy mój adres URL jest http://mysite.com/hello/world/myurl

Jak mogę to zrobić?

Odpowiedz

6

dodawania baza tag do głównego pliku HTML, który jest podawane, gdy użytkownik nawiguje do http://example.com/hello/world:

<base href="/hello/world/" /> 

Więcej informacji można znaleźć na stronie Developer Guide/Using $location

+0

Zmiana podstawy witryna nie jest prawidłowa decyzja. Chciałbym zrobić coś w rodzaju 'Backbone.history.start ({pushState: true, root:"/public/search/"})'. Czy to możliwe? – ValeriiVasin

+0

Nie jestem zaznajomiony z metodami Szkieletów. I nie wyjaśniłeś, dlaczego rozwiązanie tagu podstawowego nie jest właściwą decyzją? – Stewie

+0

Zmienia zachowanie wszystkich statycznych. Chciałbym zmienić bazę tylko dla routera. – ValeriiVasin

0

Dodawanie basetag stwarza również problem, podwójny czas dostaje dołączone.

Dodając do korzenia, w szablonie adresu URL jak poniżej: templateUrl: (.) ​​„./mytmpl.html” - rozwiązuje problem

Powiązane problemy