繁体   English   中英

具有可观察数组的淘汰赛计算列未更新UI

[英]Knockout computed column with observable array not updating UI

我正在使用以下敲除observableArray和计算列代码,但是当我将值推送到observable数组时,UI(用于数据绑定的计算)没有更新。 请参阅我的jsFiddle示例。

http://jsfiddle.net/U9Sqb/2/

有没有更好的方法将值推送到observableArray并让它们通过计算值更新UI? 提前致谢。

HTML:

<html>
    <head>
        <script src="http://cloud.github.com/downloads/SteveSanderson/knockout/knockout-2.1.0.js" ></script>
    </head>
    <body>
        <div data-bind="text: onString"></div>
        <div id="test"></div>
    </body>
</html>

JavaSript:

function MyData() {
  var self = this;
  self.currentOnOf = ko.observable(1);
  self.available = ko.observableArray();
  self.onString = ko.computed(function () {
    return "On " + self.currentOnOf() + " of " + self.available ().length;}, self);
}

var data = new MyData();

$(document).ready(function () {
    ko.applyBindings(data);
    data.available().push(1);
    data.available().push(2);
    $("#test").html(data.available().length);
});

当您推送到ko.observable数组时,您需要直接推送到它:

data.available.push(1);
data.available.push(2);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM