我尝试设置一些动态路由,从所选链接中提取值并将其传递到下一页名称之前的路由中。例如:
我在'/'
上有一个链接,然后点击链接<a href="#" id="solid-choice">Solid</a>
我想将此链接值传递到下一页渲染的路径中。与'/solid/next-page'
我有一些路由设置,但我认为它没有按照我想要的方式正确地拉动路线。 /:pattern/next-page
是我特别谈论的路线
以下是我的观点:
<!DOCTYPE html>
<head>
{{> head}}
</head>
<body class="pattern-wrapper">
{{> navigation}}
<div class="container">
<div class="row pattern-choice">
<div class="col-md-12">
<h2><i>Choose a pattern</i></h2>
<ul>
<li class="button-border">
<h3 class="button-choice" ><a href=":pattern/next-page" class="button-link" id="solid-choice">SOLID</a></h3>
</li>
<li class="button-border">
<h3 class="button-choice" id="stripe-choice"><a href=":pattern/next-page" class="button-link" id="stripe-choice">STRIPE</a></h3>
</li>
<li class="button-border">
<h3 class="button-choice" id="plaid-choice"><a href=":pattern/next-page" class="button-link" id="plaid-choice">PLAID</a></h3>
</li>
</ul>
</div>
</div>
</div>
</body>
</html>
这是我目前的路线:
var express = require('express');
var router = express.Router();
router.get('/', function(req, res){
res.render('pages/index.hbs');
});
router.get(':pattern/next-page', function(req, res){
req.param('pattern');
res.render('pages/color.hbs');
});
router.get('/suit-result', function(req, res){
res.render('pages/suit-result.hbs');
});
module.exports = router;
答案 0 :(得分:0)
你很亲密。您需要使模板变量可用于模板。您可以将res.render('pages/color.hbs')
更改为res.render('pages/color.hbs', {pattern: req.params.pattern})
。
然后您更改模板以使用新的可用变量:<a href="{{pattern}}/next-step"></a>