作为 EJS 变量传递后数组变成字符串

所以我有一个带有数组的文件,我将其传递给ejs template. 我必须在 a 中使用该数组for loop来渲染数组的每个项目。但我现在得到的只是控制台中的字母。好像我以某种方式把它变成了一个字符串。


有人可以帮助我使用 for 循环和正确的 EJS 语法来渲染数组中的每个项目吗?


这是代码:


示例.js


router.get('/example', (req, res) => {

    const array         = ['superman', 'batman', 'wonderwoman'];

    res.render("../views/example", { data: array });

});


EJS模板


<script>


    <% if(data) { %>

        const dataArr = '<%- data %>';

        

        for ( let i = 0; i < dataArr.length; i++ ) {             

            console.log(dataArr[i]);

        }

        

    <% }else{ %>

        console.log('no data')

    <% } %>


</script>


至尊宝的传说
浏览 127回答 1
1回答

蓝山帝景

最近使用 ejs 遇到了类似的问题,为我解决的是在脚本中使用以下分配:const&nbsp;dataArr&nbsp;=&nbsp;&nbsp;<%-JSON.stringify(data)%>;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript