在 knockout.js 中使用必需的属性

Use required attribute in knockout.js

如何在输入中有条件地设置 required 属性?

<input type="text" required />

所需的属性没有值。只要在场就会被视为required。所以 required="false" 会使一些脚本失败。

我在文档中找不到类似的内容。我越接近 disabled 绑定。

Knockout 足够聪明,可以删除绑定值为 false 的属性,当它们与 attr binding 绑定时。检查下面的输入。它会在 required="true"required 之间切换不出现。

vm = {r: ko.observable(false)}
ko.applyBindings(vm);
setInterval(() => vm.r(!vm.r()), 1000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<input data-bind="attr: {required: r}" />