Mvvm js如何防止模型更新模板。
嗨,我有以下字段Mvvm js如何防止模型更新模板。,mvvm,knockout.js,preserve,Mvvm,Knockout.js,Preserve,嗨,我有以下字段 <span id="myText" data=bind="text: name">default value</span> 但是,我不希望值“default value”更改。我想保留原值 我该怎么做呢 一个选项是使用自定义绑定从元素的当前innerText填充您的observable 比如: ko.bindingHandlers.textWithInit = { init: function(element, valueAccessor) {
<span id="myText" data=bind="text: name">default value</span>
但是,我不希望值“default value”更改。我想保留原值
我该怎么做呢 一个选项是使用自定义绑定从元素的当前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
};
您还可以在此基础上添加更多错误处理(处理可观察对象和非可观察对象等)
示例:是否保留它,直到更改名称的值?您需要一个计算值,或者一个特殊的绑定,该绑定读取“默认值”,直到其源为非空。无法阻止模板按照您要求的方式更新。
ko.bindingHandlers.textWithInit = {
init: function(element, valueAccessor) {
var observable = valueAccessor();
observable("innerText" in element ? element.innerText : element.textContent);
},
update: ko.bindingHandlers.text.update
};