2014-04-16 46 views
1

我正在開發一個示例應用程序來學習AngularJs單頁應用angularJS

有三個鏈接在ng-view中顯示三個不同的模板。

main.html有三個鏈接。

$routeProvider.when('/add/:num',{ 
    templateUrl: 'addition.html', 
    controller: 'addCtrl', 
    requireLogin : true 
    }) 
    .when('/multiply/:num/',{ 
    templateUrl: 'multiplication.html', 
    controller: 'multiplyCtrl', 
    requireLogin : true 
    }) 
    .when('/filter',{ 
     templateUrl: 'filter.html', 
     controller: 'filterCtrl', 
     requireLogin : true 
    }) 
    .when('/main',{ 
     templateUrl: 'main.html', 
     requireLogin : false 

    }); 

這裏是主播:

<a href="add/5"> 

它工作正常。但是當我嘗試打開新選項卡中的鏈接時,它無法打開。

我知道路由在客戶端完成,服務器不知道它。

任何建議都會有幫助。

我無法通過在線搜索找到任何相關答案。

謝謝。

編輯::服務器端代碼。

在nginx的:

location/{ 
    root /home/myNgApp/; 
    autoindex on; 
    autoindex_exact_size off; 
     try_files $uri $uri/ /main.html; 
     } 
+0

建議:郵政編碼。 – Adam

+0

http://angulartutorial.blogspot.in/2014/02/how-to-start-with-angular.html – Prashobh

+0

[This](http://stackoverflow.com/questions/18214835/angularjs-how-to-enable) -locationprovider-html5mode-with-deeplinking)可能會有幫助。 – Engineer

回答

0

AngularJS路線不是實際的html頁面...

你需要有一些服務器端的路由來處理新的一頁的負荷。我們使用nginx作爲我們提供URL的方法。

看看這個article,然後你可以決定你想使用什麼技術。

+0

謝謝..我現在明白了。我需要配置服務器與HTML5MOde ... – Learner

+0

嗨,我還有一個問題。表單('/ filter')的路由工作正常。但是('/ add/5')或('/ filter/name')不能按預期工作。有關於此的任何想法?謝謝。 – Learner

+0

如果你可以放更多的代碼,它會有所幫助......也許你可以嘗試重新創建一個笨蛋。但我從來沒有使用ngRouter,我們選擇了具有更多功能的UI路由器... –

相關問題