[英]I can't get my data to display from firebase to my node js client
我正在尝试将存储在数据库中的数据显示到客户端,但是很难弄清楚这一点。
我可以在终端中以JSON格式显示控制台中的数据
例如
{ '-L32RrW6PaBF162cyfDv': { article: { body: 'Test Body', title: 'Test Title' } },
'-L32UMeos7o2bwtPMVTF': { article: { body: 'test', title: 'test' } },.....
但是,当我尝试在我的Jade模板中使用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
})
})
这是玉模板文件。 仅最后三行代码应与此问题相关:
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
尝试这个:
// 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()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.