【发布时间】:2023-03-15 20:04:02
【问题描述】:
我有一个简单的集合绑定到一个最初为空的 observableArray。当页面呈现时,它“有时”会在绑定开始并删除元素之前显示空模板。 如果您看不到它刷新页面几次。这发生在下面的容器少模板中,但也发生在普通的内联和脚本标签样式模板中。
查看:
<div>
<input data-bind="value: address"/>
<button data-bind="click: search">Search</button>
</div>
<!-- ko if: list().length > 0 -->
<h5 data-bind="text: list().length"></h5>
<!-- /ko -->
<!-- ko foreach: list -->
<div class="result" data-bind="text: addr"></div>
<!-- /ko -->
Javascript:
$(function() {
var viewModel = function() {
var self = this;
self.address = ko.observable("Portland");
self.list = ko.observableArray();
self.hasData = function(){return self.list().length > 0;};
self.search = function() {
self.list.push({ addr: "Item01" , index: 1 });
self.list.push({ addr: "Item02" , index: 2 });
self.list.push({ addr: "Item03" , index: 3 });
};
};
var vm = new viewModel();
ko.applyBindings(vm);
});
我在jsFiddle - http://jsfiddle.net/motowilliams/mx7SM/ 或 JSBin 上似乎没有发生太多事情,但在本地和deployed - http://knockouttest.herokuapp.com/ 时确实发生了。
有什么想法吗?
【问题讨论】:
标签: javascript mvvm knockout.js knockout-2.0