gpt4 book ai didi

javascript - express + Jade : render an array of partials

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:29 25 4
gpt4 key购买 nike

我有部分按钮,如下所示:

.button button.custom_button(type='button', value='', onclick=#{functionName}) #{functionName}

我在 res.renderPartials 函数的帮助下渲染部分,该函数来自 npm install express-partial

并且我想根据用户请求呈现它。所以我有 Controller 方法,例如:

var express = require('express');
var router = express.Router();

router.get('/buttons', function(req, res) {
var funcs = ['func1();', 'func2();', 'func3()', .... ]; // where funcs.length > 15

res.renderPartials({
// PROBLEM #1: how to make this in a loop
// PROBLEM #2: why do it returns only the func[28] rendering result
'partials/button': {functionName: funcs[0]},
'partials/button': {functionName: funcs[1]},
..........
'partials/button': {functionName: funcs[28]},
});
});

问题: 如何一次渲染所有按钮部分?意味着将数组传递给 res.renderPartials 并避免遇到用逗号分隔的每个按钮。

P.S.我认为这是可能的,因为在 Jade 模板中我们可以这样做:

- each video in videos
!=partial('partials/video', {title:video.title, artist:video.artist})

示例取自here

最佳答案

虽然就我而言,我们可以使用嵌入的部分,例如

buttons.jade

- each func in #{functions}
!=partial('partials/button', {functionName:func})

button.jade

.button button.custom_button(type='button', value='', onclick=#{functionName}) #{functionName}

路由器

var express = require('express');
var router = express.Router();

router.get('/buttons', function(req, res) {
res.renderPartials({
'partials/buttons': {functions: ['func1();', 'func2();', 'func3()', .... ]}
});
});

关于javascript - express + Jade : render an array of partials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27168144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com