2013-07-05 133 views
1

我想將一個數組的索引值傳遞給一個路由,所以我可以使用該id將特定的對象加載到一個詳細視圖中。AngularJS和ExpressJS路由衝突

控制器,可注入的指數,並改變路徑

location.path('/detail/'+index); 

$ routeProvider一個處理細節路由

.when('/detail/:index', { 
    controller: DetailViewCtrl, templateUrl: 'partials/detail' 
}); 

快速腳本處理部分加載

app.get('/partials/:partial', function(req, res) { 
    return res.render('partials/' + req.params['partial']); 
}; 

如果我通過在5的索引中,我希望URL看起來像「localhost:3000/detail/5」和I在我的瀏覽器中獲取,但服務器返回404錯誤,試圖尋找一些奇怪的URL「localhost:3000/detail/partials/detail」。我不知道在部分來源之前添加的「細節」在哪裏。

很高興知道幕後發生了什麼以及如何解決問題。我如何傳遞路由中的自定義變量,而不是表達怪異?

回答

2

前置的templateUrl/

.when('/detail/:index', { 
    controller: DetailViewCtrl, 
    templateUrl: '/partials/detail' 
}); 

或插入HTML head元素下的base標籤如:

<base href="/" />