相关疑难解决方法(0)

Knockout attr绑定与'readonly'和'disabled'等属性

什么是使用Knockout的"attr"数据绑定"readonly""disabled"等独立属性建议的"最佳实践"方法?

这些属性是特殊的,因为它们通常由属性值设置为属性名(虽然很多浏览器正常工作,如果你只是不包含在HTML的任何值的属性名称)启用:

<input type="text" readonly="readonly" disabled="disabled" value="foo" />
Run Code Online (Sandbox Code Playgroud)

但是,如果你不做要应用这些属性,一般的做法是简单地完全从HTML忽略它们(而不是做这样的事情只读="假"):

<input type="text" value="foo" />
Run Code Online (Sandbox Code Playgroud)

Knockout的"attr"数据绑定不支持这种情况.只要我提供属性名称,我还需要提供一个值:

<input type="text" data-bind="attr: { 'disabled': getDisabledState() }" />
Run Code Online (Sandbox Code Playgroud)

是否有跨浏览器方式关闭'禁用'或'只读'?或者是否有一个自定义绑定的技巧,如果我不想禁用该项或使其成为只读,我可以使用它来呈现任何内容

html data-binding readonly disabled-input knockout.js

25
推荐指数
3
解决办法
2万
查看次数

如何使用knockoutjs有条件地呈现css类

我有一些类似以下的HTML:

<div class="control-group">
    <input type="text" data-bind="value: $data.DealCode" name="DealCode" class="input-mini" />
</div>
Run Code Online (Sandbox Code Playgroud)

但是,ifnot: $data.DealCodeIsValid我需要呈现以下内容:

<div class="control-group error">
    <input type="text" data-bind="value: $data.DealCode" name="DealCode" class="input-mini" />
</div>
Run Code Online (Sandbox Code Playgroud)

请注意div中的附加类"错误".有没有办法用knockoutjs做到这一点?

knockout.js

21
推荐指数
1
解决办法
1万
查看次数