Использование привязки attr в Knockout с булевым значением
Я пытаюсь создать скрытое поле формы из логического значения в моем представленииModel.
<tbody data-bind="foreach: MediaFiles">
<tr>
<td>
<input type="hidden"
data-bind="attr: { value: MyBool }" />
</td>
</tr>
</tbody>
Мне нужно, чтобы входное значение было либо "истинным", либо "ложным", основанным на том, что в модели представления. Для ясности были опущены другие атрибуты.
Какой лучший способ выполнить это с помощью функции привязки нокаутов?
Ответы
Ответ 1
data-bind="attr: { value: MyBool ? 'true' : 'false' }"
или если MyBool является наблюдаемым:
data-bind="attr: { value: MyBool() ? 'true' : 'false' }"
или вы можете использовать вычисленный наблюдаемый:
MyBool = ko.computed(function(){
return this.someValue() ? 'true' : 'false';
}, this);