我想将我的ASP.NET MVC应用程序转换为一个使用淘汰赛。Knockout是一个缓慢的框架?
转换我的第一个视图后,我注意到淘汰赛需要更长的时间来呈现与MVC相同数量的数据。这是我的淘汰赛代码来显示列表名称。
<html>
<head>
<script src="../../Assets/knockout/js/knockout-3.0.0.js" ></script>
</head>
<body>
<ul data-bind="foreach: lists, visible: lists().length > 0">
<li>
<strong data-bind="text: title" ></strong>
</li>
</ul>
<script type="text/javascript">
function List(data) {
this.title = ko.observable(data.Title);
}
function ListViewModel() {
var self = this;
self.lists = ko.observableArray([]);
$.getJSON("/home", function (json) {
var data = JSON.parse(json);
var mappedlists = $.map(data, function (item) {
return new List(item);
});
self.lists(mappedlists);
});
}
ko.applyBindings(new ListViewModel());
</script>
</body>
我相信淘汰赛不能是缓慢的,是有什么我这里缺少
注:为便于比较,我已在同一视图(并排),以同时使用看哪个先出现
在第一种情况下,页面到达格式。在第二次下载内容并且在页面加载后开始格式化,因此它必须更慢。 – Emil
@Emil谢谢,我的部分在同一页面上检查性能是错误的。即使淘汰赛速度更快,它会稍后渲染。 –