【发布时间】:2015-03-15 03:02:34
【问题描述】:
我正在尝试弄清楚如何将 Id 传递给我的 PlayerDetailController,然后在我的服务中使用它。
我的主要app.js 中有以下路线:
var players = require('./routes/players');
app.use('/players', players);
我在players 路由 (routes/players.js) 中有以下路由:
var express = require('express');
var router = express.Router();
/* GET /players listing. */
router.get('/', function(req, res, next) {
res.render('players', { title: 'Players', action: 'list'});
});
/* GET /player details. */
router.get('/:id', function(req, res, next) {
res.render('players', { title: 'Player Details', action: 'details'});
});
module.exports = router;
我的主要players.ejs 模板中的以下内容:
<!-- other layout elements -->
<% if (action === 'details') { %>
<% include partials/players/details %>
<% } else if (action === 'update') { %>
<% include partials/players/update %>
<% } else if (action === 'remove') { %>
<% include partials/players/remove %>
<% } else { %>
<% include partials/players/list %>
<% } %>
<!-- other layout elements -->
还有我的deatils.ejs部分:
<div ng-controller="PlayerDetailsController">
<div class="playerDetails">
<p>
<strong>{{ player.name}} - {{ player.position }} - {{ player.team }}</strong><br/>
Touchdowns: {{ player.touchdowns }}<br/>
Yards: {{ player.yards }}
</p>
</div>
</div>
还有我的 PlayerDetiails 服务:
// PlayerDetails Service
app.factory('PlayerDetails', ['$http', function($http){
// below is where I'm trying to inject the Id
return $http.get('/api/player/:id');
}]);
但我不知道如何将路线中显示的 ID(例如 http://localhost:3000/players/550130d32f3345bc065f2ecf)传递到我的控制器中,以便我的控制器调用并接收正确的玩家数据。我该怎么做?我想我可以在res.render 调用中添加一个id 属性,但我不确定我会在EJS 模板中用它做什么。任何帮助将不胜感激!
【问题讨论】:
标签: angularjs node.js express ejs