Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
Debugging 在数据库中迭代元素的模板不起作用?_Debugging_Meteor - Fatal编程技术网

Debugging 在数据库中迭代元素的模板不起作用?

Debugging 在数据库中迭代元素的模板不起作用?,debugging,meteor,Debugging,Meteor,相关模板部分如下所示: <template name="list_of_links"> <ul id="item-list"> {{#each my_playlist}} {{> link_item}} {{/each}} </ul> </template> <template name="link_item"> <li class="link">

相关模板部分如下所示:

<template name="list_of_links">
   <ul id="item-list">
        {{#each my_playlist}}
            {{> link_item}}
        {{/each}}
    </ul>
</template>

<template name="link_item">
<li class="link">
    <div class="destroy"></div>
    <div class="link-title">{{youtube_link}}</div>
</li>
</template>
但是,每当我通过文本输入将内容插入链接集合时,我都看不到页面上有任何更新

但是,当我手动打印日志并调用:Template.list\u of\u links.my\u playlist()时,我可以看到数据库中的值


此外,youtube_link是Links集合中的一个字段,我不确定在link_项目模板中使用它的方式

{youtube\u link}
模板中的
链接项目
不会返回任何内容,因为从数据库传递值的是
链接列表
模板。所以我猜你的DOM确实更新了,只是它是一个空的,被附加了,就像这样:

<li class="link">
    <div class="destroy"></div>
    <div class="link-title"></div>
</li>

如果你只是去掉下面的一点,会发生什么?这完全没有必要

Template.link_item.youtube_link = function () {
    return this.youtube_link;
};
这不起作用的原因是,模板帮助程序中的
不是实际的数据位。从:

模板实例对象在已创建、呈现和销毁的模板回调中作为该对象的值,并作为事件处理程序的参数


你好,我做了改变,没有看到任何不同。Javascript控制台显示没有被更新的空链接,当我向数据库添加链接时仍然是这样:问题的其他来源是什么?你能在links集合中添加一个文档示例吗?@BenjaminRH like so?我输入了两个字段—“sess”和“youtube_link”:你可以分享以下结果吗:在浏览器控制台中,运行
Links.find({sess:Meteor.default_connection.\u lastSessionId}).count()
然后像你说的那样添加一个新文档,然后再次运行,然后发布你得到的两个数字?@BenjaminRH当然:除非你在控制台中没有提到任何错误,并且假设你已经删除了youtube\u链接助手,否则我看不出是什么导致了这个问题。也许你只需要关闭meteor应用程序并再次运行它?我实际上是根据另一个答案的建议添加的。当我取出页面时,也没有看到页面更新。这里是整个Javascript文件供参考,我省略了您提到的部分。ideone.com/gof1C8Oh,哈哈,我没注意到。让我再四处看看。
Template.link_item.youtube_link = function () {
  return this.youtube_link;
};
Template.link_item.youtube_link = function () {
    return this.youtube_link;
};