我在助手中有一个函数 getQuantityValueFromURL
getQuantityValueFromURL: (url) => {
const currentURL = new URL(url);
const urlParams = new URLSearchParams(currentURL.search);
return urlParams.get('quantity');
}
调用此函数时如何传递网站的当前网址
{{getQuantityValueFromURL current url}}
我尝试使用 window.location.href 作为网址,但没有成功
如果我理解正确的话,
current url
是一个术语,而不是两个不同的术语(current
和url
),并且您想要传递所请求的url
。如果是这样,您可以将该数据传递到您的模板,只需将其添加到 res.render
方法的可选第二个参数中即可,并且您的辅助函数 getQuantityValueFromURL
可以访问该数据,如下所示:
// route.js
router.get('/path/here', (req, res) => {
res.render('your_view', {
data: someData,
currentUrl: req.originalUrl
});
});
// your_view.hbs
{{getQuantityValueFromURL currentUrl}}
但是,您的助手正在提取的信息已经可以在 Express 中的 req 对象的众多属性之一中访问。您不需要辅助函数。
示例 1(路由参数)如果用户请求了页面
https://www.yourshop/path/here/55
:
// route.js
router.get('/path/here/:quantity', (req, res) => {
res.render('your_view', {
data: someData,
quantity: req.params.quantity // (quantity = 55)
});
});
// your_view.hbs
{{ quantity }}
示例2(查询参数)如果用户请求了页面
https://www.yourshop/path/here?quantity=88
:
// route.js
router.get('/path/here', (req, res) => {
res.render('your_view', {
data: someData,
quantity: req.query.quantity // (quantity = 88)
});
});
// your_view.hbs
{{ quantity }}