所以我在Knockout工作,我有一个包含单个observable的视图模型:
function rvwHistoryViewModel() {
if (document.getElementById("CCHPISentence").innerHTML != "") {
rvwHistory = ko.observable(document.getElementById("CCHPISentence").innerHTML);
}
else {
rvwHistory = ko.observable("crap");
}
}
最初在CCHPISentence.innerHTLM == ""
上面的代码中,所以应用了绑定,我的元素读取"废弃它应该"。
但是,我稍后会调用相同的viewModel,此时调用CCHPISentence.innerHTLM == "some thing"
。我调试并看到rvwHistory确实设置为"some thing"
,但屏幕上的值仍然显示为"crap"
。
我做错了什么?提前感谢任何可以帮助我的人,我一直在盯着这一个。
答案 0 :(得分:0)
这是ViewModel的示例。它包含一个输入和一个计算的例子。
function rvwHistoryViewModel() {
this.CCHPISentence = ko.observable("");
this.rvwHistory = ko.computed(function() {
if (this.CCHPISentence() == "") {
return "crab"; // nice little animal
} else {
return this.CCHPISentence();
}
}, this);
}
ko.applyBindings(new rvwHistoryViewModel());

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
CCHPISentence:
<input data-bind="value:CCHPISentence" type="text"/>
<br/>rvwHistory:<span data-bind="text:rvwHistory"></span>
&#13;
提示,请遵循优秀的教程:http://learn.knockoutjs.com/