您好我有以下字段
<span id="myText" data=bind="text: name">default value</span>
我希望能够使用like
初始化值var model = {
name = ko.observable("");
}
ko.apply(model);
但是,我不希望值“默认值”发生变化。我想保留原始价值。
我怎么能这样做?
答案 0 :(得分:1)
一种选择是使用自定义绑定从元素的当前innerText填充您的observable。
类似的东西:
ko.bindingHandlers.textWithInit = {
init: function(element, valueAccessor) {
var observable = valueAccessor();
observable("innerText" in element ? element.innerText : element.textContent);
},
update: ko.bindingHandlers.text.update
};
你也可以为此添加更多错误处理(处理observables和非obseravbles等)。