簡體   English   中英

骨干模型未通過查看

[英]Backbone Model not passing to view

我正在編寫一個新的主干應用程序,但是在其他應用程序中使用的代碼卻出現一些錯誤。 我正在為此應用程序使用最新版本的主干,所以我不知道是否有更改使我在這里所做的工作中斷或發生了什么。 Google整天對我沒有任何幫助。

我有一個集合,正在分解,並將各個模型發送給視圖。 視圖報告this.model未定義。

碼:

風景:

    DigitalAnalytics.View.TopPage = Backbone.Model.extend({
        tagName: 'tr',
        className: 'db-toppage-tr',
        template: DigitalAnalytics.Helper.template('db-analytics-toppages-template'),
        initialize: function() {
            console.log(this.model); // prints 'undefined'
        },
        render: function() {
            console.log(this.model); // prints 'undefined'

            // This throws an error saying that it can not call html() on undefined
            this.$el.html(this.template( this.model.toJSON()) );
            return this;
        },
        events: {}
    });

集合視圖:

DigitalAnalytics.View.Collection.TopPages = Backbone.View.extend({
    el: $('#db-analytics-toppages'),
    template: DigitalAnalytics.Helper.template(''),
    initialize: function() {
        this.listenTo(this.collection, 'reset', this.render);  // Never fires even though the collection is returned
        this.collection.fetch(); // Works just fine
    },
    render: function() {
        this.collection.each( function(page, index) {
            console.log(page.toJSON()); // writes the object to console just fine 
            var topPage = new DigitalAnalytics.View.TopPage({model: page});
            this.$el.append( topPage.render().el );
        }, this);
    }
});

你可能已經擴展Backbone.Model ,你應該已經擴展Backbone.View變化Backbone.Model.extend在代碼Backbone.View.extend ,使用創建主干模型Backbone.Model然后通過這個模型可以查看,當您啟動它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM