1

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

私の階層が問題なのか、それとも何か他のものなのか? 何かご意見は?

4

1 に答える 1