Angular, bağlantı etiketlerinin href özniteliklerinde tempaltes içinde görünen URL'leri yeniden yazacağı, html5 veya hashbang modunda çalışacakları izlenimi altındaydım. Konum hizmeti için dokümantasyon HTML Link Yeniden Yazma hashbang durumun ilgilenir söylemek gibi görünüyor. Böylece HTML5 modunda değil, karma ekleneceğini ve HTML5 modunda, onlar olacağını beklemem.
Ancak, yeniden yazma gerçekleşmiyor gibi görünüyor. Aşağıdaki örnek sadece modu değiştirmeme izin vermiyor. Uygulamadaki tüm bağlantıların elle yeniden yazılması gerekir (veya çalışma zamanında bir değişkenten türetilir. Moda bağlı olarak tüm URL'leri manuel olarak yeniden yazmam gerekir mi?
Açısal 1.0.6, 1.1.4 veya 1.1.3'te herhangi bir istemci tarafı url yeniden yazma işlemi görmüyorum. Tüm href değerlerinin # / hashbang modu ve / html5 modu için başına eklenmesi gerektiği anlaşılıyor.
Yeniden yazmaya neden olacak bazı yapılandırmalar var mı? Belgeleri yanlış mı okuyorum? Aptalca bir şey mi yapıyorsun?
İşte küçük bir örnek:
<head>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.js"></script>
</head>
<body>
<div ng-view></div>
<script>
angular.module('sample', [])
.config(
['$routeProvider', '$locationProvider',
function ($routeProvider, $locationProvider) {
//commenting out this line (switching to hashbang mode) breaks the app
//-- unless # is added to the templates
$locationProvider.html5Mode(true);
$routeProvider.when('/', {
template: 'this is home. go to <a href="https://stackoverflow.com/about"/>about</a>'
});
$routeProvider.when('/about', {
template: 'this is about. go to <a href="https://stackoverflow.com/"/>home</a'
});
}
])
.run();
</script>
</body>
Zeyilname: sorumu yeniden okurken, yeniden yazmayı kim ve ne zaman yapmak istediğime dair netlik olmadan "yeniden yazma" terimini kullandığımı görüyorum. Soru nasıl hakkındadır Eğik o yolları oluşturur ve bu iki mod arasında eşit olarak JS kodu yolları yorumlama nasıl ne zaman URL'leri yeniden yazmak için. Bu, bir web sunucusunun isteklerin HTML5 uyumlu yeniden yazılmasını sağlamasıyla ilgili değildir .