javascript - 我无法使用 meteor 中的每个函数返回文档数组

标签 javascript html arrays meteor

我的 html 代码:

<template name="homeItem">
        <li class= "{{selectedClass}}">{{{content}}}</li>
        <li class= "tagsBody">{{#each tags}}<a href="/tagsTemp/{{this}}">{{tags}}</a> {{/each}}</li>
</template>

订阅“内容”是在路由 Controller 级别完成的。
现在“tags”是一个数组,它是“content”的一部分,“content”是名为“contentsList”的集合中的文档。
我使用了一个 homeitem 辅助函数,它是这样的: JS客户端代码

Template.homeItem.helpers({
    'tags':function(){
      return contentsList.findOne({_id: this._id}).tags
    }
});

返回的错误是:
1) 模板助手中的异常:类型错误:无法读取未定义的属性“标签”。
2) Uncaught Error :{{#each}} 目前只接受数组、游标或假值。
3) Tracker 重新计算函数异常:TypeError: Cannot read property '0' of null

我怎么解决这个问题?我是编程新手。所以,请原谅我偏离了任何编程惯例。任何帮助将不胜感激。

最佳答案

contentList.findOne({_id: this._id}) 返回 null,因此当您尝试执行 null.tags 时,它显示为未定义。

确保存在对 contentsList 的订阅并且您可以搜索它。通过运行 contentList.find().fetch() 来测试它以查看返回的内容。如果什么都没有返回,则您的订阅不存在。

关于javascript - 我无法使用 meteor 中的每个函数返回文档数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35155449/

相关文章:

javascript - 使用 HTML 中的 Forms 计算总价

javascript - 当突变观察者添加到主 html 文档时是否支持 iframe 文档?

html - 如何从 ASP/vb.net Codebehind 获取 html 属性

arrays - 如何有效地设计一个迭代数组并在一组子例程中分配相应条目的 Fortran 程序?

python - Pandas Dataframe 到键值对和 csv 格式

javascript - 使用 JavaScript localStorage 输入表单数据

javascript - float DIV 额外空间填充

javascript - 重置 Ionic ios/android 应用程序中的内容

html - Avada 主题导致 Bootstrap 断点问题

arrays - TypeScript 中的类型 'string[]' 上不存在“includes”