2013-01-22 12 views
5

Quindi non il 100% del mio sito è "powered by AngularJS", parte del semplice HTML statico come una landing page o contenuti orientati al contenuto, che è semplice HTML per ovvi motivi.

L'unico modo che riesco a ottenere un link per navigare normalmente è come questo:

$routeProvider 
    .when('/plans', {templateUrl: '<%= asset_path('ng/views/start.html') %>'}) 
    # Catch all 
    .otherwise({ redirectTo: (p,loc) -> window.location = loc }) 

Ci si sente come il pescato tutti dovrebbero essere più semplice, come ho potuto fare .otherwise(false) e sarebbe semplicemente navigare normalmente. Lo stesso vale per `.when ('/ something' /, false) ma non vedo nulla nei documenti che suggeriscono che ciò sia possibile.

Qualcuno sa di un modo migliore per farlo?

Edit 1:

Una soluzione che ho trovato è quello di utilizzare target='_self' nel collegamento.

L'altro è apparentemente per impostare "l'URL di base" dell'applicazione come indicato in the docs. Quindi qualsiasi link al di fuori di quella base dovrebbe navigare normalmente. Tuttavia, ciò non sembra funzionare come descritto e l'esempio non corrisponde a quello che suggerisce la documentazione.

risposta

3

solo la creazione di un collegamento ad essa external file

se si utilizza gli URL hashbang (ad esempio #/piani) allora si dovrebbe essere tutto a posto, se si utilizza la storia HTML5 API ($ locationProvider.html5 (true)) devi quindi assegnare un nome all'app (impostare base [href] correttamente) e inserire il contenuto al di fuori di tale spazio dei nomi.

codice rilevante:

https://github.com/angular/angular.js/blob/4df45b20d460239a0f5001fb0dd59f95e2d0e80d/src/ng/location.js#L560

Un'altra soluzione è quella di utilizzare target="_self" su quel a elemento. Anche questo dovrebbe essere un problema solo quando viene utilizzato html5 (history pushState).

+0

Penso che potresti aver avuto un problema nella modifica di questo. Ho dato un'occhiata a questi documenti http://docs.angularjs.org/guide/dev_guide.services.$location che menzionavano l'url di base, anche se l'esempio è piuttosto fangoso. Preferirei non farlo con un attributo nei miei tag se possibile. –

Problemi correlati