从视图中的模型获取属性的主干

Backbone getting attributes from a model in a view

本文关键字:属性 获取 模型 视图      更新时间:2023-09-26

我需要帮助来尝试从我的模型中获取具有骨干的属性.js

以下是我到目前为止尝试过的方法。我连接到 REST URL 并以 json 格式拉回数据。我现在希望在视图中显示其中一些数据。但是,当我尝试打印/控制台输出club_url时,我收到一个未定义的错误。如果我打印出test对象本身,我可以看到对象attributes section中的值。

有人可以告诉我哪里出错了吗?

(function ($) {
    var Model = Backbone.Model.extend({
        urlRoot: '/api/test/',
        initialize: function () {
            this.club_url = this.club_url
        }
    });
    var thisCollection = Backbone.Collection.extend({
        urlRoot: '/api/test/',
        model: Model
    });
    var PanelView = Backbone.View.extend({
        el: '#reward_view',
        initialize: function () {
            _.bindAll(this, 'render');
            this.collection = new thisCollection();
            this.collection.bind('add', this.appendItem);
            this.render();
        },
        render: function () {
            var test = new thisCollection;
            test.fetch();
            console.log(test.get('club_url'))
            return this;
        }
    });
    var listView = new PanelView();
})(jQuery);

我尝试的另一个测试是在视图中初始化这样的东西

        this.model = new Model()
        this.model.fetch()

但是在渲染函数中我这样做了:

this.model.get('club_url')

然而,这也不起作用!

数据的获取是异步操作。所以,我想你应该等一个事件再来club_url.即类似的东西:

render: function () {
    var test = new thisCollection;
    test.fetch({
        success: function(collection, response) {
            console.log(test.get('club_url'))
        }
    });
    return this;
}