Нов съм за гръбнака и все още се свиквам с потока от всичко. data.json
файл в моя модел и използвай го от моя гледна точка ...
data.json
[
{ id: "001", student: "Mark" },
{ id: "002", student: "Sally" },
{ id: "003", student: "Harold" }
]
assets / data.js (модел)
var DataModel = Backbone.Model.extend({
url: "assets/data.json",
initialize: function() {
// this logs properly
console.log("this initializes");
}
})
data_view.js
var Students = Backbone.View.extend({
initialize: function() {
var data = new DataModel();
data.fetch();
// doesn"t return json
console.log(data);
}
})
регистрите на данни като ...
v __proto__: Backbone.Model
> constructor: ()
> initialize: ()
url: "assets/data.json"
> __proto__: Object
Всичките ми внос са правилни, но защо не мога да зареждам JSON в моя изглед? Какво правя погрешно? (Опитах се да направя колекция, но това имаше същия ефект; не се намери json)
Отговори:
2 за отговор № 1Защото fetch използва jQuery Ajax, така че е асинхронен. Ако записвате данни веднага след извикване на извличане, данните не се изтеглят от сървъра.
data.fetch({
success: function(model, response, options) {
console.log(model);
},
error: function() {
}
});
Референция за връзка: http://backbonejs.org/#Model-fetch
0 за отговор № 2
С използването на JQuery:
var DataModel = new DataModel();
$.when(DataModel.fetch()).then(function() {
var students = new Students({model: DataModel });
});