Подтвердить что ты не робот

Использование привязки attr в Knockout с булевым значением

Я пытаюсь создать скрытое поле формы из логического значения в моем представленииModel.

    <tbody  data-bind="foreach: MediaFiles">
        <tr>
            <td>
                <input type="hidden" 
                        data-bind="attr: { value: MyBool }" />
            </td>
        </tr>
    </tbody>  

Мне нужно, чтобы входное значение было либо "истинным", либо "ложным", основанным на том, что в модели представления. Для ясности были опущены другие атрибуты.

Какой лучший способ выполнить это с помощью функции привязки нокаутов?

4b9b3361

Ответ 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);