ローカルのjsonファイルからjson
オブジェクトを取得しようとしています。ファイルには2つのデータを含む配列が含まれています。Backbonejs - ビューを初期化するとコレクションが表示されない
私の見解initialize
方法は結果を与えません。
私はここで間違いを犯しましたか?誰でも助けてくれますか?あなたが自動的に呼び出されませんinitialize: function() {}
render()
にthis.render();
を入れてあるでしょう
var Theater = {
Models: {},
Collections: {},
Views: {},
Templates:{}
}
Theater.Models.Movie = Backbone.Model.extend({});
Theater.Collections.Movies = Backbone.Collection.extend({
model: Theater.Models.Movie,
url: "scripts/data/movies.json",
initialize: function(){
console.log("Movies initialize");
}
});
Theater.Views.Movies = Backbone.View.extend({
initialize: function() {
console.log('view', this.collection, this.collection.models.length) //gives no results
_.bindAll(this, "render");
this.collection.bind("reset", this.render);
},
render: function(){
console.log("render")
console.log(this.collection.length); nothing consoled
}
})
Theater.Router = Backbone.Router.extend({
routes: {
"": "defaultRoute"
},
defaultRoute: function() {
console.log("defaultRoute");
Theater.movies = new Theater.Collections.Movies()
new Theater.Views.Movies({ collection: Theater.movies });
Theater.movies.fetch().done(function(){
console.log(Theater.movies.length) //2
});
}
})
var appRouter = new Theater.Router();
Backbone.history.start();
しかし、私は '私が見ることが動作するはずreset'に呼びかけています:' this.collection.bind(「リセット」、この.render); ' – 3gwebtrain