私はAngularを初めて使い、複数のルートが同じview/templateUrlとコントローラにつながる可能性を理解しようとしています。ここで私が書いたものです:
angular
.module('mwsApp', [
'ngAnimate',
'ngCookies',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch',
'ui.bootstrap'
])
.config(function ($routeProvider, $locationProvider) {
// debugger
$routeProvider
.when('/', {
templateUrl: 'index.html',
controller: 'MainCtrl as vm',
})
.when('/rika', {
templateUrl: 'index.html',
controller: 'MainCtrl as vm',
})
// .otherwise({
// redirectTo: '/'
// });
$locationProvider.html5Mode(true).hashPrefix("!");
});
問題:現在、私は「localhostを:9000 /」に行けば、それは私の正しいバージョンを示しているが、私は「localhostを:9000 /リカ」に行けば、それが与えます私は "/リカを得ることができません"。
デバッグ:問題をhtml5Modeに絞り込んだ。私は#を取り除こうとしている! AngularはURLに自動的に追加されますが、そうするとエラーがポップアップします。
誰でも簡単に入力できます。
アドレスハッシュを取り除くことはできません。これは、角度付き(AJAXの場合もあります)などのルーティングの目的を破ることはできません。 –
はい、あなたはそれを個人的に耳にしませんでしたが、それは可能です – user7951676
[this]を見てください(https://stackoverflow.com/questions/28629774/how-to-remove-the-hash- from-the-angularjs-ng-route) – Jax