Backbone ビューの単純な継承階層があり、すべてのビューに 1 つの汎用モデルを持たせたいと考えています。これらのビューのモデルの url プロパティのみが異なります。モデルを初期化するときにURLを渡します。
親のジェネリック ビューは次のとおりです。
GenericView = Backbone.View.extend({
template: "friendsList-template.html",
initialize: function(){
var that = this;
that.model.fetch({
success: function(model,response){
that.handleResponse(response);
},
error: function(){
//handle error
}
});
}
});
子ビューは次のとおりです。
PersonView = GenericView.extend({
el:$("#container"),
personData: {},
template: "profile-template.html",
model = new GenericModel({
url:"testRouter.php"
});//here is where I'm defining the url
initialize: function(){
PersonView.__super__.initialize.apply(this);
},
render: function(){
var that = this;
$.get(this.templatesPath + this.template, function(resTemplate){
var html = Mustache.render(resTemplate, that.personData);
that.$el.html(html);
});
},
handleResponse: function(res){
this.personData = res;
this.render();
}
});
そして、GenericModel は単に空のモデルです (少なくとも今のところ)
GenericModel = Backbone.Model.extend({
});
コンソールで、次のエラーが表示されます。
Uncaught Error: A "url" property or function must be specified backbone.js:1559
私の階層が問題なのか、それとも何か他のものなのか? 何かご意見は?