我希望我的浏览器可以立即访问,而不必等待加载模板。目前,当我提供一个大数组(在本例中为 1000 个元素)时,情况并非如此。我尝试使用External Template Engine,但这只会导致模板显示“正在加载...”,并且浏览器在完成加载之前没有响应。
为了说明,一个简短的例子:
JS:
function User(firstname, lastname) {
this.firstname = ko.observable(firstname);
this.lastname = ko.observable(lastname);
}
function UserViewModel() {
this.allUsers = ko.observableArray([
new User("John", "Doe"),
new User("John", "Doe"),
new User("John", "Doe"),
// 1000 elements ...
new User("John", "Doe")
]);
}
ko.applyBindings(new UserViewModel());
HTML:
<html>
<head>
...
</head>
<body>
<ul data-bind="template: { name: 'my-template', foreach: allUsers() }"></ul>
<script type="text/html" id="my-template">
<li>
<h1 data-bind="text: firstname()"></h1>
<h2 data-bind="text: lastname()"></h2>
</li>
</script>
</body>
</html>
所以基本上我想要的是在模板渲染时可以访问浏览器,并且一旦它们准备好它们就应该被可视化。我前面提到的外部模板引擎不能满足我的需求。