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;
};