knockout.js在填充observableArray时太慢
knockout.js is too slow in filling observableArray
我创建了比较角度和击倒的测试:
items = self.items();
// ...
self.items.valueHasMutated();
http://jsfiddle.net/imbolc/z7bkz/9/embedded/result/这个测试正确吗?你知道提高KO灌装速度的方法吗?
我没有彻底比较不同测试之间的逻辑,但我知道Chrome处理文本节点的方式存在一些问题,如下所述:https://github.com/SteveSanderson/knockout/issues/793
如果你从你的内联KO模板中去掉文本节点,那么你会看到Chrome的性能有很大的提升。
:
<ul id="ko-list" data-bind="foreach: items"><li>ko: <span data-bind="text: val"></span></li></ul>
更新后的示例:http://jsfiddle.net/rniemeyer/tsTmZ/
最新Chrome的示例结果:
jquery: 45 ms 74 ms角度:171 ms 199 ms
敲除:109 ms 25 ms
相关文章:
- observablearray KnockoutJs中的对象
- Filtering observableArray
- 过滤observableArray时出现问题
- 检测observableArray是否发生变化
- UI中未更新Knockout ObservableArray
- 自定义过滤淘汰js observableArray
- KNOCKOUT js observableArray 不起作用
- ko observablearray:推送和直接分配之间的区别
- 嵌套的JSON数组和Knockout observableArray
- 无法将项添加到observableArray
- KNOCKOUT ko.observableArray 不会刷新视图
- 在Knockoutjs中设置计算对象的observableArray的更好方法
- 访问observableArray中的非对象
- ObservableArray.push()触发点击事件
- 将JSON映射到observableArray时出错
- Knockoutjs计算未从observableArray更新
- observableArray is not defined
- 可以't get return Array插入到knockoutjs observableArray中
- 从knockoutJS中的observableArray中删除Self
- 用新数据替换observableArray