【发布时间】:2012-05-04 11:47:10
【问题描述】:
有没有一种干净的方法可以使用 KnockoutJS 仅将 observable 的初始值绑定到 dom 元素?
我知道您可以通过绑定到不可观察属性来实现这一点,但我宁愿不创建多余的属性来保存另一个可观察属性的初始值。
我试过了,但无济于事——属性仍然会随着每次更改而更新
<input type="text" id="tbName"
data-bind="value:name, attr: { 'data-initialnamevalue': ko.utils.unwrapObservable($data.name()) }" />
【问题讨论】:
-
如果它是您的视图模型的一部分,这并不是多余的。 Knockout 上的文档说,如果您希望 DOM 和数据保持同步,则仅使用 observables。听起来你不想要这种行为。我只会使用普通的旧房产。
-
这是
style的示例,但同样适用于attr:jsfiddle.net/rniemeyer/3Pyun -
感谢@RPN 一直以来 - 我会将该评论作为没有直接方法的证据,所以我会接受马特的回答。