我有一个简单的集合绑定到一个最初为空的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 上发生的事情并不多,但在本地和部署时确实发生了 - http://knockouttest.herokuapp.com/。
有任何想法吗?