Поэтому я стараюсь быть эффективным и чистым в своих шаблонах пробелов, когда работаю с Meteor. Но я озадачен тем, как нужно обрабатывать флажки и параметры выбора. Предположим, я хочу, чтобы флажок был установлен как отмеченный или нет, в зависимости от флага, который находится в документе в одной из моих коллекций. Кажется, я не могу сделать следующее:
<input type='checkbox' id='item-{{this.item_id}}' {{#if checked}}checked{{/if}} />
Когда я пытаюсь это сделать, я получаю следующую ошибку:
A template tag of type BLOCKOPEN is not allowed here.
Однако, если я попробую следующие варианты, все они приведут к установке флажка, даже если флаг равен false
:
<input type='checkbox' id='item-{{this.item_id}}' checked='{{#if checked}}true{{/if}}' />
<input type='checkbox' id='item-{{this.item_id}}' checked='{{#if checked}}true{{else}}false{{/if}}' />
У меня такая же проблема с selected
в моих опциях выбора, поэтому я делаю что-то вроде следующего, чтобы обойти это, что кажется многословным и подверженным ошибкам:
<select id='option-{{this.item_id}}'>
{{#if option_60}}
<option value='60' selected>1 hour</option>
{{else}}
<option value='60'>1 hour</option>
{{/if}}
{{#if option_90}}
<option value='90' selected>90 mins</option>
{{else}}
<option value='90'>90 mins</option>
{{/if}}
{{#if option_120}}
<option value='120' selected>2 hours</option>
{{else}}
<option value='120'>2 hours</option>
{{/if}}
</select>
{{#if}}
?checked={{isChecked c=this.flag}}
Я не уверен, что вы можете использовать операторы open внутри тегов. -untested EDIT: проверил одну из моих реализаций, и вот как я это сделал (Метеор 0.8.0+). Да, как ответ ниже; D - person below9k   schedule 25.09.2014