请看我的jsfiddler的例子.
如果有另一种方式,我们应该绑定/创建我们的数组/ etc,这也是有效的.我已经通过使用列表或跨度来解决这个问题
谢谢!
JS
var mainviewmodel = function () { var self = this; this.Items = ko.observableArray(); this.init = function () { var itemsArray = []; for(var i = 0; i < 1300; i++){ itemsArray.push("My value is: " + i); } self.Items(itemsArray ); }; }; $(function () { myApp = new mainviewmodel(); ko.applyBindings(myApp); myApp.init(); });
HTML
<!-- ko foreach: Items --> <div data-bind="text: $data"></div> <!-- /ko -->
解决方法
通过删除“模板”周围的文本节点,您可以在Chrome中获得体面的改进,如:
http://jsfiddle.net/rniemeyer/RAfNv/.
<!-- ko foreach: Items --><div data-bind="text: $data"></div><!-- /ko -->
我想我们会在某种程度上改善核心.我们以前看过这样的事情:https://github.com/SteveSanderson/knockout/pull/709,但是在这一点上没有增加任何改变.