検索機能を介して取得する json オブジェクトの大規模なコレクションがありますが、検索文字列にもよりますが、出力はリストに入力する数千を超える配列になる可能性があります。モバイル環境では、各オブジェクトに touchmove、touchstart、および touchend を追加すると、面倒でメモリを消費します。backbone.jsを使用してオブジェクトを表示する最小限の方法があり、ボタンなどのトリガーを使用すると、これが堅牢になる可能性があるという解決策を見つけました。私はそれを進める方法がわかりませんが。これはボタンなしの動作例です。そして、どうすればこれを行うことができますか?
<script>
//model - define value objects.
var Client = Backbone.Model.extend({
defaults: {
name: 'cole',
age: '12'
}
});
//collection - load json
var ClientCollection = Backbone.Collection.extend({
defaults: {
model: Client
},
model: Client,
url: './json/test.json',
//override parse due to json format. point to "items"
parse: function (response, xhr) {
return response.items;
}
});
//view. init collection. listen for data to be loaded. render.
var ClientView = Backbone.View.extend({
initialize: function () {
this.collection = new ClientCollection();
this.collection.bind("reset", this.render, this);
this.collection.fetch();
},
render: function () {
//append to html here ...
//alert(this.collection.at(0).get("name"));
//alert(this.collection.length)
for (var i = 0; i < this.collection.length; i++) {
$('#append-el').append('<li>' + this.collection.at([i]).get("name") + '; ' + this.collection.at([i]).get("age") + '</li>')
}
}
});
var clientView = new ClientView();
</script>
<div id = "append-el"></div>