Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js EJS,include上的节点js forEach循环_Node.js_Loops_Foreach_Include_Ejs - Fatal编程技术网

Node.js EJS,include上的节点js forEach循环

Node.js EJS,include上的节点js forEach循环,node.js,loops,foreach,include,ejs,Node.js,Loops,Foreach,Include,Ejs,当使用此语法在“组件”上循环时,EJS抱怨task不是对象,但如果替换为task,则可以 有什么想法吗 <? tasks.forEach( function( task ){ ?> <?- include('_task'); ?> <? }) ?> 如果您询问如何将任务传递给您的include,那么应该是这样的: <? tasks.forEach(function(task) { ?> <?- include('

当使用此语法在“组件”上循环时,EJS抱怨task不是对象,但如果替换为task,则可以

有什么想法吗

  <? tasks.forEach( function( task ){ ?>
      <?- include('_task'); ?>
  <? }) ?>

如果您询问如何将
任务
传递给您的
include
,那么应该是这样的:

<? tasks.forEach(function(task) { ?>
    <?- include('_task', {task: task}) ?>
<? }) ?>


顶级数据会自动包含,但需要显式传递局部变量。请参见

您将任务替换为任务的具体位置。_id?这正是我需要的:)谢谢@skille。。。我假设它可以像“任务”一样访问对象,但事实并非如此。@Kris当您执行
include
时,它将作为一个完全独立的模板呈现,因此它无法从周围的模板中看到任何内容。默认情况下,它只传递与原始模板相同的
locals
对象。EJS甚至不知道您的
任务
变量存在,您的
块中的代码只是直接编译到模板函数中,EJS没有任何理解。这是有道理的。再次感谢:)也许我参加聚会迟到了,但我找到的唯一获得
foreach
使用
include
模板的方法是使用所写的