流星模板:输入值取决于给定的值

时间:2015-08-20 05:13:11

标签: templates meteor

我想根据某些值设置输入字段的值:如果定义了valueMinvalueMax,结果应为

<input type="text" value="{{valueDef}}({{valueMin}}-{{valueMax}})"> 

否则应该是

<input type="text" value="{{valueDef}}"> 

因此输入的值可以是

12
34(1-50)

在模板中实现这一目标的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

如果 valueMin valueMax 都不为零,那么你可以写:

{{#if valueMin}}
  {{#if valueMax}}
    <input type="text" value="{{valueDef}}({{valueMin}}-{{valueMax}})">
  {{else}}
    <input type="text" value="{{valueDef}}">
  {{/if}}
{{/if}}

否则你可以定义一个帮助器来评估两个变量的存在,然后在{{#if switch}}

中使用它。

JS:

Template.foo.helpers({
  switch: function(){
    return typeof(this.valueMin) === 'number' && typeof(this.valueMax) === 'number';
  }
});

HTML:

{{#if switch}}
  <input type="text" value="{{valueDef}}({{valueMin}}-{{valueMax}})">
{{else}}
  <input type="text" value="{{valueDef}}">
{{/if}}