Я пытаюсь разобрать свой файл json в коллекцию и модель Backbone, как показано ниже.
Это файл .json
[
{
"type": "rect",
"x": 10,
"y": 10,
"w": 100,
"h": 100,
"color": "red"
},
{
"type": "arc",
"x": 210,
"y": 20,
"w": 200,
"h": 150,
"color": "blue"
}
]
И у меня также есть файл .html, как показано ниже.
<script>
$(function() {
var JSONModel = Backbone.Model.extend({});
var MyCollection = Backbone.Collection.extend({
model : JSONModel,
url : 'profiles.json',
initialize : function() {
alert("init");
},
parse : function(response) {
for (var i = 0; i < response.length; i++) {
var tmpModel = new JSONModel();
tmpModel.set({
type : response[i].type,
x : response[i].x,
y : response[i].y,
w : response[i].w,
h : response[i].h,
color : response[i].color
});
this.add(tmpModel);
alert("inserting" + i);
}
return response;
}
});
var collection = new MyCollection();
collection.fetch();
alert(collection.length);
});
</script>
Q.
1. Почему в этом коде функция выборки вызывает функцию разбора?
2. Есть ли какая-либо другая функция, которая вызывается из функции выборки?
3. Как вы думаете, как я могу исправить этот код, чтобы получить объект json? Я не могу получить "коллекцию.длина" в этом коде.
Пожалуйста помоги.