【问题标题】:How Do I Join Data From Two Collections Using Spacebars?如何使用空格键连接来自两个集合的数据?
【发布时间】:2015-08-12 10:24:21
【问题描述】:

我有一个模板 (tmpl1) 引用了一个集合 projectdetails,在下面的代码中我可以成功地显示 {{detailname}} 什么是基于 collectiondata projectdetails.detailname 但是现在我还需要显示位于 projects.name 中的 Projectname 我确实将 project._id 保存在 projectdetails.projectId 中 我现在如何定义像 {{projectName}} 这样的手栏来显示项目名称。 我试图在 projectdetails.js 中将其定义为助手,但没有成功。有人可以添加一个代码片段来解释如何定义把手以及如何检索数据吗?

<template name="tmpl1">
<div id="example" class="panel">
    <ol class="breadcrumb">
        <li><a href="/"><i class="fa fa-home"></i> Start</a></li>
        <li><a href="/dashboard"><i class="fa fa-cubes"></i> Projekte</a></li>
        <li><a href="{{pathFor 'details'}}"><i class="fa fa-cogs"></i> Details</a></li>
        <li class="active">{{detailname}} {{projectName}}</li>
    </ol>
</div>

【问题讨论】:

    标签: meteor spacebars meteor-helper


    【解决方案1】:

    您可以为 projectName 添加一个帮助器,它将两个集合连接起来。

    您的模板的上下文似乎是一个“项目详细信息”文档,因此在 projectName 助手内部,this.projectId 应该是项目文档的 ID。假设集合名为 Projects 并且每个项目都有一个 name 字段,代码应该如下所示:

    Template.tmpl1.helpers({
      projectName: function() {
        var project = Projects.findOne(this.projectId);
        return project && project.name;
      }
    });
    

    【讨论】:

      猜你喜欢
      • 2015-07-22
      • 1970-01-01
      • 2016-08-17
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多