我试图将存储在我数据库中的数据显示在客户端,但我很难搞清楚这一点。
我能够以终端以JSON格式在我的控制台中显示数据
e.g。
{ '-L32RrW6PaBF162cyfDv': { article: { body: 'Test Body', title: 'Test Title' } },
'-L32UMeos7o2bwtPMVTF': { article: { body: 'test', title: 'test' } },.....
但是当我尝试在我的玉模板中使用for循环显示它时,似乎没有任何东西出现。我希望有人能指出我做错了什么。任何帮助,将不胜感激。感谢您,如果有人需要更多信息来回答这个问题,请告诉我。
这是我试图检索和显示数据的部分(所有路线都正常工作):
// Add Articles Route
router.get('/', (req, res, next) => {
let ref = firebase.database().ref('articles')
let articlesRef = ref.child('article')
let articleRef = articlesRef.key
articlesRef = ref.once('value')
.then((snap) => {
console.log(snap.val())
})
res.render('articles', {
title: 'Add Article',
articles: articlesRef
})
})
这是玉模板文件。只有最后3行代码才能与此问题相关:
extends layout
block content
.row
h1 #{title}
hr
form(method='POST', action='/articles')
#form-group
label Title
input.form-control(name='title', type='text')
br
#form-group
label Body
textarea.form-control(name='body')
br
input.btn.btn-primary(type='submit', value='Submit')
br
br
ul
each article in articles
li= article
答案 0 :(得分:2)
试试这个:
// Add Articles Route
router.get('/', (req, res, next) => {
let ref = firebase.database().ref('articles')
let articlesRef = ref.child('article')
let articleRef = articlesRef.key
articlesRef = ref.once('value')
.then((snap) => {
console.log(snap.val());
res.render('articles', {
title: 'Add Article',
articles: snap.val()
})
})
})
您需要等待获取实际值,然后才能呈现它,从而将其移到then
内并使用snap.val()
。