我有一个像这样的JQuery模板:
<div class="editor-field">
<input data-bind="value: ValueField, valueUpdate: 'afterkeydown'" />
{{if $data.errors && $data.errors().length > 0 }}
<div>
an error occured
</div>
{{/if}}
</div>
$data.errors
是一个observableArray
,它开始为空。
我已订阅ValueField
并将$data.errors
设为[ "hello" ]
。但是,当observableArray
更新时(由于输入更改),整个模板会刷新,导致输入失去焦点。
之前和之后DOM树的唯一区别是在if-block中添加了div
。