node.js - 如何在node.js中为jade中的每个循环制作
问题描述
我想将一个数组传递给create.jade
inSelect
但它不能显示courses
在dropdown
. 这是代码。
subjectServices.create = function (req, res) {
return courseStorage.list()
.then(courses => {
console.log("aa", courses)
// let course = courses
res.render('../views/subjects/create', {course: courses});
})
};
console
它显示了课程,但它select dropdown
不能显示任何课程。不知道为什么不能显示。请帮我解决这个问题。这是 的代码create.jade
。
include ../layout/main
block content
style(type='text/css').
.main-header .navbar{
background-color: #3c8dbc;
}
title Admin Dashboard
.wrapper
.content-wrapper
body
.container
h3
//- a(href='/employees') Employee List
a.btn.btn-primary(href="/subjects") Subject List
h1 Create New Subject
form.form-horizontal(action='/subjects/save', method='post')
.form-group
.col-md-1
label(for='subjectName') Subject Name*
.col-lg-10
input#subjectName.form-control(type='text', name='subjectName', placeholder='Subject Name')
.form-group
.col-md-1
label(for='courseSelectbox') Choose Course*
select#courseSelectbox.form-control(name='course')
if courses != null && courses.length > 0
for course in courses
option(value='') --Select One--
option(value='#{courses._id}') #{ courses.name }
br
br
button.btn.btn-primary(type='submit') Create
解决方案
您传递给 Pug 模板的本地名称是course
,而不是courses
。尝试将其更改为courses
:
res.render('../views/subjects/create', {courses: courses});
然后在 Pug 循环中,使用单数访问各个属性:
for course in courses
option(value='#{course._id}') #{course.name}