我正在尝试将数组的索引值传递给路由,因此我可以使用id将特定对象加载到详细视图中。
注入索引并更改路径的控制器
location.path('/detail/'+index);
处理细节路由的$ routeProvider
.when('/detail/:index', {
controller: DetailViewCtrl, templateUrl: 'partials/detail'
});
处理部分加载的Express脚本
app.get('/partials/:partial', function(req, res) {
return res.render('partials/' + req.params['partial']);
};
如果我传入5的索引,那么我希望URL看起来像“localhost:3000 / detail / 5”,我确实在我的浏览器中得到了这个,但服务器返回404错误,其中试图查看对于一些奇怪的URL“localhost:3000 / detail / partials / detail。”我不知道在部分之前添加的“细节”来自何处。
了解幕后发生的事情以及如何解决问题会很高兴。我如何在路线中传递自定义变量而不是表达怪异?
答案 0 :(得分:2)
将templateUrl
添加到/
:
.when('/detail/:index', {
controller: DetailViewCtrl,
templateUrl: '/partials/detail'
});
或在base
元素下插入head
标记,如下所示:
<base href="/" />