我有以下用例:有些房间里面有床。 (无赖...)
有一个房间循环使用模板“房间”。
<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}}
答案 0 :(得分:2)
不应该这样吗?
Template.room.getBeds = function () {
if (this.guests_id)
return this.beds - _.size(this.guests_id);
else
return this.beds;
};
请参阅docs:
助手可以接受参数,他们会在
中收到当前的模板数据this
: