Javascript 为什么可以';t帕格是否遍历来自子模板的一些数组/对象?
所以我有一个名为base-default.pug的文件,它设置了我的头部和身体标签。我有一个扩展它的文件,名为index.pug。它只包含两个Javascript对象: localHeadProps:我要生成的特定于index.html的head标记的信息对象 scriptPaths:包含在主体标记底部的脚本文件的相对路径数组 当我尝试对localHeadProps使用each…in循环时,它可以工作,但对于scriptPaths,我得到一个错误,说它未定义。这很奇怪,因为使用Javascript 为什么可以';t帕格是否遍历来自子模板的一些数组/对象?,javascript,arrays,pug,javascript-objects,Javascript,Arrays,Pug,Javascript Objects,所以我有一个名为base-default.pug的文件,它设置了我的头部和身体标签。我有一个扩展它的文件,名为index.pug。它只包含两个Javascript对象: localHeadProps:我要生成的特定于index.html的head标记的信息对象 scriptPaths:包含在主体标记底部的脚本文件的相对路径数组 当我尝试对localHeadProps使用each…in循环时,它可以工作,但对于scriptPaths,我得到一个错误,说它未定义。这很奇怪,因为使用!{scriptP
!{scriptPaths}
输出的内容很好,那么它怎么可能是未定义的呢
有人能解释为什么每个…in循环只适用于base-default.pug中的localHeadProps,而不适用于scriptpath或我放入index.pug中的任何其他数组/对象吗
奇怪的是,为了让它工作,我必须在它之前使用if语句检查它是否存在,或者使用Javascript for…in循环。然而,我仍然不明白为什么我必须求助于这些黑客
哈巴狗
extend base-pages/base-default
block localVariables
-
//- page-specific head configurations
const localHeadProps = {
title: "Best Note Taking App - Organize Your Notes with Evernote",
description: "Our note taking app helps you capture and prioritize ideas, projects and to-do lists, so nothing falls through the cracks. Start your free trial today!",
keywords: "HTML, CSS, XML, JavaScript",
stylesheetPaths: [
"css/styles.min.css",
]
};
const scriptPaths = [
"js/bundle.js",
"js/vendor.js",
];
base-default.pug
include ../abstracts/variables
include layout/head
block localVariables
doctype html
html(lang="en")
+head(globalHeadProps, localHeadProps)
body
h1 Hello Base Page
//- outputs <p>scriptPaths: js/bundle.js,js/vendor.js</p>
p scriptPaths: !{scriptPaths}
//- this doesn't work
each scriptPath in scriptPaths
script(src=scriptPath)
//- this actually works
each item in localHeadProps
p=item
包括../abstracts/variables
包括布局/标题
块本地变量
doctype html
html(lang=“en”)
+头部(全局头部支柱、局部头部支柱)
身体
h1你好基本页
//-输出脚本路径:js/bundle.js,js/vendor.js
p脚本路径:!{scriptpath}
//-这不管用
scriptPath中的每个scriptPath
脚本(src=scriptPath)
//-这确实有效
localHeadProps中的每个项目
p=项目
请将pug更新至最新版本。我使用pug v.2.0.4和pug cli v1.0.0-alpha6成功编译了您的模板
此外,我假设您没有更改
头中的脚本路径
变量。请将pug更新为最新版本。
我使用pug v.2.0.4和pug cli v1.0.0-alpha6成功编译了您的模板
此外,我假设您没有更改头中的脚本路径
变量
mixin.好的。我使用的是gulp pug v.4.0.1,它依赖于pug v.2.0.3,所以我想知道它是否只适用于2.0。4@Deluxateer你找到解决办法了吗?没有,因为我已经跟不上这个问题了。谢谢你的帮助!哦,好的。我使用的是gulp pug v.4.0.1,它依赖于pug v.2.0.3,所以我想知道它是否只适用于2.0。4@Deluxateer你找到解决办法了吗?没有,因为我已经跟不上这个问题了。谢谢你的帮助!