【发布时间】:2013-07-30 10:14:17
【问题描述】:
我可能用错误的词来描述我的问题,所以这里是我正在使用的(简化的)代码。
我很高兴学习一种更好的方法来做到这一点,但我目前正在尝试做的是将{{assigneeId}} 传递给名为agentIs 的模板辅助函数。问题是我找不到传递值的正确方法。
<template name="ticket_list">
{{#each tickets}}
{{> ticket}}
{{/each}}
</template>
<template name="ticket">
<h3>{{title}}</h3>
<p>{{assigneeId}}</p>
{{> ticket_footer}}
</template>
<template name="ticket_footer">
{{> agent_list}}
</template>
<template name="agent_list">
<!-- {{assigneeId}} exists here as expected -->
assigneeId: {{assigneeId}}
<label for="agent">Agent</label>
<select id="agent" name="agent">
{{#each agents}}
<!-- value passed: "{{assigneeId}}" -->
<option value="{{_id}}" {{#if agentIs "{{assigneeId}}"}}selected{{/if}}>
{{profile.name}}
</option>
<!-- value passed: undefined -->
<option value="{{_id}}" {{#if agentIs assigneeId}}selected{{/if}}>
{{profile.name}}
</option>
<!-- value passed: JSON.parse error -->
<option value="{{_id}}" {{#if agentIs {{assigneeId}}}}selected{{/if}}>
{{profile.name}}
</option>
{{/each}}
</select>
</template>
Template.agent_list.agents = function() {
return Meteor.users.find({"profile.is_agent": true}, {sort: {profile: 1}});
}
Template.agent_list.agentIs = function(assigneeId) {
return this._id === assigneeId;
};
【问题讨论】:
-
为什么不能将一些模板调用包装到
with块助手中?或者我没有得到问题。 -
@imslavko 请写一个例子并将其添加为答案。我是 Meteor 和 Handlebars 的新手,如有任何关于实施的反馈,我们将不胜感激。
标签: meteor handlebars.js