2016-12-25 26 views
5

Uygulamamda gezinmek için Angular ui.router kullanıyorum. Genellikle, url aşağıdaki gibi görünmelidir:# nedir? ui.router içinde demek?

http://localhost:8001/#!/start 

Ne anlama geliyor:

http://localhost:8001/#/start 

Ama benim durumumda

, bu gibi görünüyor?

Ayrıca, bu siteden başlangıç ​​sayfamdan farklı bir URL'yi çağırıyorsam, URL'nin geçersiz göründüğü için her zaman yeniden yönlendirildiğimi fark ettim.

mainApp.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) { 
'use strict'; 
$urlRouterProvider.otherwise('start'); 
$stateProvider 
    .state('start', { 
     url: '/start', 
     templateUrl: 'views/start.html' 
    }) 
    .state('registration-activate', { 
     url: '/registration/activate/{activationKey}', 
     templateUrl: 'views/registration-activation.html' 
    }) 
    ; 
    }]); 

aramaya çalışacağız zaman

localhost: 8001/#/kayıt/I başlangıç ​​sayfasına yönlendirildi/xyz etkinleştirin.

+2

http://stackoverflow.com/questions/40478676/i-am-using-angular- ve-my-url-her zaman-a-ünlem işareti/40478862 – Taki

+0

Yapılandırmamı denetledim, ancak hashPrefix'i ayarlamadım. Bir web sunucusunu simüle etmek için gulp kullandığım bir konu mu? – Kahuna

cevap

0

tarayıcı HTML5 tarayıcı angularjs #!

onu yönlendirir ise Aksi takdirde sadece # olacak.

Bunun nedenini daha fazla öğrenmek için $location numaralı telefondan documentation here'u okuyun. eski bir tarayıcıda düzenli URL açma

  • -> Bir hashbang URL'ye yönlendirir
  • modern tarayıcıda
  • Açılış hashbang URL -> düzenli URL'ye
+0

Tamam, ancak neden bir URL açamıyorum? Her zaman başlangıç ​​sayfasına yönlendirildim. – Kahuna

2

Tamam çocuklar için yeniden yazar , açıklamalarınız için teşekkürler. Ben sadece benim yapılandırmaya bu ekleyerek bir bağlantıdan bir URL diyemezsin sorunumu çözüldü:

$locationProvider.hashPrefix('');