我想要做的是遍歷一個數組中的玉石佈局。佈局文件lessons.jade:節點js + express + jade迭代數組
each lesson in myLessons
ul.nav.pull-center: li.dropdown.nav.text-center
.btn.btn-default.dropdown-toggle.btn-lg.btn-block(data-toggle="dropdown" aria-expanded="false")= lesson.day
ul.dropdown-menu.col-xs-12
each lessonName in myLessons
li: a(href='/lessons/details')= lessonName.name
li.divider
我的視圖控制器文件lessons.js:
var renderLessonPage = function (req, res, responseBody) {
var message;
if (!(responseBody)) {
message = "Lessons API Error!";
} else {
if (responseBody.length < 0) {
message = "No lessons found!";
}
}
res.render('lessons', {
title: 'Lesson page',
pageHeader: {
title: 'Just a page'
},
myLessons: responseBody,
message: message
});
};
module.exports.lessons = function(req, res) {
var requestOptions, path;
path = '/api/locations/' + req.params.locationid + '/lessons/';
requestOptions = {
url: apiOptions.server + path,
method: "GET",
json: {}
};
request(
requestOptions,
function (err, response, body) {
renderLessonPage(req, res , body);
}
);
};
我的API控制文件包含:
var sendJsonResponse = function (res, status, content) {
res.status(status);
res.json(content);
};
module.exports.lessons = function (req, res) {
loc
.findById(req.params.locationid)
.populate('lessons')
.exec(function (err, location) {
if (!location) {
sendJsonResponse(res, 404, {
"message": "No lessons found!"
});
} else {
response = {
location: {
lessons: location.lessons
// id: req.params.locationid
}
};
sendJsonResponse(res, 200, response);
}
})
};
如果我火了Chrome和瀏覽到API訪問的位置,我看到以下json結果:
{
"location": {
"lessons": [
{
"_id": "56d5d947bdb5c3d92ace848c",
"name": "Henk",
"startTime": "13:00",
"endTime": "14:00",
"day": "Tuesday",
"__v": 0
},
{
"_id": "56d5d9dfea5cbcf42a20f87e",
"name": "skaaak",
"startTime": "12:00",
"endTime": "18:00",
"day": "Monday",
"__v": 0
}
]
}
}
如果我通過- console.log
在我的玉石版面模板中啓用console.log
,並在myLessons
中獲得教訓,則在控制檯中輸出完全相同的東西。但我不能在我的玉石佈局中使用數組中的值。
我只有一個下拉菜單而不是兩個,文本沒有填充在下拉按鈕上,下拉菜單中有兩個空的項目。
我嘗試了很多東西,但大多數導致undefined
或無法讀取的屬性。
是什麼'myLessons'參考你的玉看法?從您的示例對象中,訪問「課程」列表應採用「response.location.lessons」的形式。 – wahwahwah
謝謝!爲了幫助,現在很清楚我做錯了什麼。 – Ralf