关于backbone collection的疑问?

发布于 2022-09-04 09:35:26 字数 1138 浏览 27 评论 0

var ListView = Backbone.View.extend({
            initialize: function() {
                if(this.collection) {
                    this.byId = {};
                    this.views = [];
                    this.collection.each(this.registerView,this);
                }
            },
            registerView: function(model) {
                var view = new ItemView({model: model});
                this.byId[model.cid] = view;
                this.views.push(view);
            },
            render: function() {
                var self = this;
                this.$el.empty();
                _.each(this.views, function(view) {
                    $_el = view.render().$el;
                    self.$el.append($_el);
                });
            }
        });
        
        var aView = new ListView({el: "#alist", collection: alist});

        aView.render();

代码如上:
图片描述

this.collection.each方法第二个参数传this,代表什么意思?
第一个参数直接调用registerView方法,方法里没有传model,那model是从哪里来的呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

奢欲 2022-09-11 09:35:26

你找找文档吧。

this.collection.each方法第二个参数传this,代表什么意思?
答:我猜这个应该是一个绑定上下文的。

registerView方法,方法里没有传model。
答:就和jquery的each一样。里面他是会传参数的。比如这样$(selector).each(function(index,element))

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文