在Knockout中使用布尔值的attr绑定

rbo*_*man 10 knockout-2.0 knockout.js

我试图从我的viewModel中的布尔值创建一个隐藏的表单字段.

    <tbody  data-bind="foreach: MediaFiles">
        <tr>
            <td>
                <input type="hidden" 
                        data-bind="attr: { value: MyBool }" />
            </td>
        </tr>
    </tbody>  
Run Code Online (Sandbox Code Playgroud)

我需要根据视图模型中的内容将输入值设置为"true"或"false".为清楚起见,省略了其他属性.

使用knockout的绑定功能实现这一目标的最佳方法是什么?

Jos*_*osh 18

data-bind="attr: { value: MyBool ? 'true' : 'false' }"
Run Code Online (Sandbox Code Playgroud)

或者如果MyBool是一个可观察的:

data-bind="attr: { value: MyBool() ? 'true' : 'false' }"
Run Code Online (Sandbox Code Playgroud)

或者你可以使用计算的observable:

MyBool = ko.computed(function(){

   return this.someValue() ? 'true' : 'false';

}, this);
Run Code Online (Sandbox Code Playgroud)