直接将对象分配给流星中的模板

时间:2013-10-30 16:27:46

标签: meteor mustache

有没有办法直接将对象分配给模板并让它显示其属性?

像这样的事情

//Object returned is {totalResults:34,firstName="hoyo"}
Template.myTemplate = function(){
    return Session.get("anObject");
};

在此模板上:

<template name="myTemplate">
    <h3>Info results : {{totalResults}}</h3>
        <span>Other things : {{firstName}}</span>
</template>

谢谢

3 个答案:

答案 0 :(得分:1)

在你的情况下,我会使用with-block helper:

Template.myTemplate.data = function(){
    return Session.get("anObject");
}
<template name="myTemplate">
    {{#with data}}
        <h3>Info results : {{totalResults}}</h3>
        <span>Other things : {{firstName}}</span>
    {{/with}}
</template>

答案 1 :(得分:0)

您可以使用点表示法。但是你仍然需要在模板中制作一个模板助手。 Template.mytemplate是为实际的模板实例保留的。

你的JS

Template.myTemplate.data = function(){
    return Session.get("anObject");
};

您的HTML

<template name="myTemplate">
    <h3>Info results : {{data.totalResults}}</h3>
        <span>Other things : {{data.firstName}}</span>
</template>

答案 2 :(得分:0)

是的,您可以直接将数据上下文传递给模板:

<template name="foo">
  {{> myTemplate data }}
</template>

您指定的地方

Template.foo.data = function(){
    return Session.get("anObject");
};