gpt4 book ai didi

meteor - Meteor 中的预选选项

转载 作者:行者123 更新时间:2023-12-04 05:21:53 25 4
gpt4 key购买 nike

尝试实现一个允许您修改现有数据库记录的弹出窗口。作为其中的一部分,我需要用现有选择预先填充几个选择框。这似乎比我最初想到的更难做到。这是我作为模板的一部分

{{#with myExistingRecord}}
<select class="myselect">
{{#each hoursInTheDay}}
{{#if isSelectedHour}}
<option selected>{{this}}</option>
{{else}}
<option>{{this}}</option>
{{/if}}
{{/each}}
</select>
{{/with}}

我遇到的问题是 isSelectedHour模板函数,因为 this不能有两个定义(第一个是 #each 值,第二个是记录对象)。我需要将#each 循环中的值与我的记录中的值进行比较,我想不出一种优雅的方法来做到这一点。我总是可以将我的记录值设置为 Session 变量,但这很麻烦。

有没有一种好的,非hacky的方法来做到这一点?

最佳答案

我遇到了同样的问题,令我惊讶的是有一个很好的方法。您确实可以访问模板部分中的外部上下文,并且您可以使用它来将其传递给辅助函数的值。我会按如下方式重写您的代码:

<template name="myTemplate">
{{#with myExistingRecord}}
<select class="myselect">
{{#each hoursInTheDay}}
<option {{selected ../recordHour}}>{{this}}</option>
{{/each}}
</select>
{{/with}}
</template>

然后有一个辅助函数:
Template.myTemplate.selected = function(hour) {
if (hour == currentHour)
{ return "selected ";}
else
{ return "";}
};

here有关 ../符号如何工作的详细信息。

关于meteor - Meteor 中的预选选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13594843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com