غير قادر على دفع الصفيف من Node / Express إلى قالب EJS

0

لا يمكنني دفع مصفوفة من جانب الخادم السريع إلى قالب EJS الخاص بي دون فقدان جميع أنواع بياناته. أحاول استخدام مخططات Google لعرض بعض البيانات. يتطلب مصفوفة منسقة هكذا ،

var data = google.visualization.arrayToDataTable([
    ['Task', 'Hours per Day'],
    ['Work',     11],
    ['Eat',      2],
    ['Commute',  2],
    ['Watch TV', 2],
    ['Sleep',    7]
     ]);

على الخادم ، لدي التعليمات البرمجية التالية لتنسيق بياناتي بهذه الطريقة ، ثم أحاول إرسال هذا الصفيف إلى قالب EJS الخاص بي.

router.get('/:id', function(req, res){
    Poll.findById(req.params.id, function(err, poll){
        if (err) {
            console.log(err)
            res.redirect('back')
        } else {
            var optionData = [...poll.options];
            console.log(optionData);
            var optionArray = []
            optionData.forEach(function(option){
                optionArray.push([option.text, option.count]);
            })
            console.log(optionArray);
            res.render('../views/polls/show', {poll: poll, optionArray: optionArray})
        }
    })
})

تُظهر عبارات console.log النتيجة التالية في محطة الخادم.

server started
[ { count: 2, _id: 5b5d1d93e5a57807b97c6f6e, text: 'lets goo1' },
  { count: 0, _id: 5b5d1d93e5a57807b97c6f6d, text: 'here we go2' },
  { count: 2, _id: 5b5d1d93e5a57807b97c6f6c, text: 'nice nice 3' } ]
[ [ 'lets goo1', 2 ],
  [ 'here we go2', 0 ],
  [ 'nice nice 3', 2 ] ]

ومع ذلك ، عندما أحاول استخدام اختياري Array في EJS ، فإن شفرة المصدر تحوله إلى ما يلي:

console.log(<%=optionArray%>)
ends up looking like this in the browsers source code
console.log(lets goo1,2,here we go2,0,nice nice 3,2)

أي شخص يعرف كيف يحافظ على بنية المصفوفات عند تمريرها من العقدة / التعبير السريع إلى EJS؟

1 إجابة

0
<ul>
    <% for(var i=0; i<optionsArray.length; i++) { %>
        <li>
            <%= console.log(optionsArray[i]) %>
        </li>
    <% } %>
</ul>

جرب شيئًا كهذا داخل قالب ejs الخاص بك ، إنه حلقة متكررة على الخيارات الخاصة بك

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام