3

我有以下用例:有些房间里面有床。(无赖……)

有一个使用模板“房间”的房间循环。

<template name="rooms">
    {{#each availableRooms}}
        {{> room}}
    {{/each}}
</template>

该模板为每次迭代获取一个房间。这是可以访问的。

<template name="room">
<div class="room-outer">
    <button type="button" class="btn" data-toggle="collapse" data-target="#list-{{_id}}">
        {{name}} : {{getBeds this}} beds free.
    </button>
    <div id="list-{{_id}}" class="collapse in room-inner">
        {{#each guests_id}}
            <div class="bed">
                <div class="blanket">
                {{showUser this}}
                </div>
            </div>
        {{/each}}
    </div>
</div>
</template>

现在我喜欢通过扩展模板来计算一些特殊值。我现在需要将这个变量传递给 getBeds 函数。是否可以通过抓取模板外部并将房间放入功能中来做到这一点?

Template.room.getBeds = function (room) {
    if (room.guests_id)
        return room.beds - _.size(room.guests_id);
    else
        return room.beds;
};

基本上我不想写 {{getBeds this}} 但只写 {{getBeds}}

4

1 回答 1

2

这不应该工作吗?

Template.room.getBeds = function () {
    if (this.guests_id)
        return this.beds - _.size(this.guests_id);
    else
        return this.beds;
};

请参阅文档

助手可以接受参数,他们接收当前的模板数据this

于 2013-01-15T15:55:44.110 回答