【问题标题】:How to pass the result of an event to a template on meteor如何将事件的结果传递给流星上的模板
【发布时间】:2015-06-09 05:58:32
【问题描述】:

我是流星的新手,我想知道如何将作为模板点击事件结果的查询结果传递给另一个模板,该模板将在点击事件后显示。

Template.projectList.events({

    "click .list-group-item": function(){
        //Session.set("projectSelected", true);
        Session.set("projectSelected", this._id)
    }
});

<template name="projectDetail">
<div class="project">
    <h4 class="project-title">
        <span>{{name}}</span>
        <i class="glyphicon glyphicon-trash pull-right del"></i>
        <i class="glyphicon glyphicon-plus pull-right add"></i>
    </h4>
    <div class="clearfix"></div>
    <div class="project-description">
        <label>Project description:</label>
        <p>
        {{remarks}}
        </p>
    </div>
</div>
</template>

我做了一些修改并做了类似于第一个建议的事情。但是我没有将整个查询结果放到会话中。相反,我放置了选定的 id 并让助手查询项目的详细信息。但是这样做,仍然没有达到预期的效果。

Template.projectDetail.helpers({

    detail: function(){

        if(Session.get("projectSelected")){
            var proj = Project.find({_id: Session.get("projectSelected")}).fetch();
        }

        return proj;
    }

});

【问题讨论】:

    标签: meteor meteor-helper


    【解决方案1】:

    您应该为此使用助手。例如,假设 project 是您要传递给 projectDetail 模板的结果:

    Template.projectList.events({    
        "click .list-group-item": function(){
            Session.set("projectSelected", true);    
            var project = Project.find({_id: this._id}).fetch();
            // Store project in Session
            Session.set("aProject", project);
        }
    });
    Template.projectDetail.helpers({
        project: function () {
            // Get the project back from Session
            var project = Session.get("aProject");
            return project;
        }
    });
    

    所以现在,在您的 projectDetail 模板中,{{project}} 将取决于点击事件的查询结果。

    【讨论】:

    • 您好,我按照您的建议购买,但无济于事。我现在如何将结果捕获到我的模板中?
    • 您能解释一下“将结果捕获到模板”是什么意思吗?此外,查询结果实际包含的内容有助于提供更具体的答案。
    • 现在可以了,我尝试了您的建议,并尝试了与您的建议类似的解决方法。我们的想法实际上是正确的。问题出在模板上。我使用了 {{#with project}} 空格键,因为我相信它是正确的,但它没有获取数据。我使用了 {{#each}},现在它正在获取返回的数据。你能给我解释一下{{#with}}的正确用法吗
    • each 遍历数组,而with 更类似于 java 或 C++ 等语言中的import。这是一个很好解释的链接:link
    猜你喜欢
    • 2015-06-07
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 2016-11-17
    • 2015-05-07
    相关资源
    最近更新 更多