2017-08-21 14 views
0

私のルーティングが機能しない、「そうでない」ケースが機能しているのは分かりませんが、メニューの1つをクリックするとルーティングが自動的に相対ページをロードしません。 誰かが私のコードで何が間違っているのか理解してくれますか?AngularJSでのルーティングの問題

これは、ルーティングの部分にコード相対的なものである:

var myColors = angular.module('myFirstModule', ['ngRoute']); 
myColors.config(['$routeProvider', function($routeProvider) { 
    $routeProvider 
    .when('/home', { 
     templateUrl: 'home.html' 
    }) 
    .when('/directory', { 
     templateUrl: 'directory.html', 
     controller: 'myFirstModule' 
    }).otherwise({ 
     redirectTo: '/directory' 
    }); 
}]); 

は、ここでは、私がリンクを入れてHTMLのdivである:ここで

<ul> 
    <li><a href="#/home">Home </a></li> 
    <li><a href="#/directory">Directory</a></li> 
</ul>  

は私の完全なコード

Plunkerです
+0

可能な複製(:次に、あなたは!

JS

var myColors = angular.module('myFirstModule', ['ngRoute']); myColors.config(['$routeProvider', function($routeProvider) { $routeProvider .when('/home', { templateUrl: 'home.html' }) .when('/directory', { templateUrl: 'directory.html', controller: 'myFirstController' //use your controller name here }).otherwise({ redirectTo: '/directory' }); }]); 

HTML

<ul> <li><a href="#!/home">Home </a></li> <li><a href="#!/directory">Directory</a></li> </ul> 

ワーキングPlunkerせずに、あなたのHREFを使用することができます#!/)プレフィックス角度1.6の単純ハッシュ(#/)](https://stackoverflow.com/questions/41226122/url-hash-bang-prefix-instead-of-simple-hash-in-angular-1-6) – Mistalis

答えて

0

あなたは間違ったコントローラ名を使用しています。@ mistalisはあなたのhrefに#!を含める必要があると言いました。 !を削除したい場合は!あなたの設定で$locationProvider.hashPrefix('');を使用してください。 [URLのハッシュ強打のhttps://plnkr.co/edit/GAob2u4MdnzXXltTZMg2?p=preview

+0

私は、 AngularJSを初めてお使いになりましたか?私はそれをよりよく学ぶことができるよいチュートリアル/例がありますか?また、ディレクトリページを変更してから別のページに移動すると、戻った後にすべての変更が削除されます。変更を保存する方法はありますか?ありがとう。 –

+0

いくつかのチュートリアルはhttps://stackoverflow.com/tags/angularjs/infoでご覧いただけます。より良いhttps://docs.angularjs.org/guide/conceptsにアクセスして学習してください。データを永続化する必要がある場合は、localstorageを使用する必要があります。 – Vivz

+0

あなたが@MoksudAhmedを手伝ってくれれば、答えは受け入れられたとマークできますか? – Vivz

2

Since you are using AngularJS 1.6を追加するには、hrefルーティングである!を追加する必要があります。
例:href="#/home"href="#!/home"になります。

<ul> 
    <li><a href="#!/home">Home</a></li> 
    <li><a href="#!/directory">Directory</a></li> 
</ul>  

このプレフィックスを削除する場合は、this answerを参照してください。