Javascript 为什么我会得到一个“;无法读取属性';长度';“未定义”的定义;在pug模板中迭代时出错?
我正在用Node和Express构建一些东西,如果用户没有登录,那么主页应该在导航栏中显示注册和登录链接。一切看起来都应该正常工作,如果不迭代,我可以显示信息。但是当我使用迭代时,我得到了这个错误:Javascript 为什么我会得到一个“;无法读取属性';长度';“未定义”的定义;在pug模板中迭代时出错?,javascript,node.js,express,pug,Javascript,Node.js,Express,Pug,我正在用Node和Express构建一些东西,如果用户没有登录,那么主页应该在导航栏中显示注册和登录链接。一切看起来都应该正常工作,如果不迭代,我可以显示信息。但是当我使用迭代时,我得到了这个错误: /home/michael/Desktop/budget-app/views/layout.pug:13 11| a(href='/') Simple Money Manager 12| if authLinks > 13| each val, index in authlinks 14| a
/home/michael/Desktop/budget-app/views/layout.pug:13 11| a(href='/') Simple Money Manager 12| if authLinks > 13| each val, index in authlinks 14| a(href='' + val) index 15| 16| // Content Cannot read property 'length' of undefined
以下是渲染
方法:
res.render('home'{
授权链接:{
注册:“/Signup”,
登录名:“/Login”
}
});
以下是我的pug文件中使用的代码:
if-authLinks
每个val、AuthLink中的索引
a(href=''+val)索引
为什么authLinks没有定义?我完全不知所措。谢谢您的帮助。它应该是循环中的
authLinks
而不是authLinks
if authLinks
each val, index in authLinks//here
a(href='' + val) index
编辑:您的authLinks是一个对象,不是数组,不能重复:
res.render('home', {
authLinks: [{
Signup: "/signup",
Login: "/login"
}]
});
我不知道你在说什么。你的回答也有同样的错误,似乎和我做的事情一样。@MichaelAlexander不是;检查你的2号线和他们的2号线。