在嘗試了所有我能想象的事情之後,在這裏閱讀了幾篇文章,我想我需要你的幫助! 我有一個基於節點的Web應用程序,並在客戶端上的服務器和Angular上表示。我正在使用角度路由。Angular.js路由:如何到達端點路由?
基本信息
我的路由設置如下所示:
mainApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider
.when('/home', {
templateUrl: 'initial.ejs',
controller: 'controllerInitialView'
})
.when('/home/post', {
templateUrl: 'post.ejs',
controller: 'controllerAddPost'
})
.... other /home/something routes ..
.otherwise({
redirectTo: '/home'
});
}
]);
HTML模板的組織結構如下:
<div class="container-fluid">
<div class="row">
<!-- Left Columns: With links to views -->
<div class="col-xs-2 home-bd-dx">
<ul>
<li>
<a href="/home/post"> Post </a>
</li>
...
<li>
<a href="/logout"> Logout </a>
</li>
</ul>
</div>
<!-- Central Columns: Here the views are inserted -->
<div class="col-xs-10">
<div ng-view></div>
</div>
</div>
</div>
的問題是與註銷鏈接。我有一個服務器serverapp.get('/logout')
鏈接,它使用passport.js來註銷用戶。但是,我無法設法達到這一聯繫。無論我嘗試將我的/logout
轉換爲/home/logout
,並且它由Angular而不是由服務器處理。
問題
因此,這裏的問題:我怎樣才能創建鏈接到端點角航線沒有角路由器攔截呢?
附加信息IF NEEDED
的Express服務器是有一個路線serverapp.get('/home/*')
其通過返回我上面勾畫模板代表這些路由Angular.js。
我試圖有和沒有在<head>
一個<base href="/home">
標籤沒有運氣
我試圖創建路由「/家/註銷」,然後具有在/home/logout
控制器角$window.location.href="/logout";
。在這種情況下也沒有運氣。
謝謝,這工作,但我不明白爲什麼這會跳過角度路由。從[w3school](http://www.w3schools.com/tags/att_a_target.asp)中,我閱讀了關於'_self'的以下內容:「在與點擊相同的框架中打開鏈接文檔(這是默認設置)」 。如果通過框架,它意味着窗口或標籤,它說明鏈接打開的位置,所以我不明白這與路由有關。此外,它指定這是默認行爲。從這裏我明白,沒有'target = ...'的''相當於擁有'target = _self',在這種情況下Angular路由不會被跳過。 – ZzKr 2014-11-02 13:21:27