正确在主干中添加视图列表

发布于 2024-12-23 18:29:54 字数 445 浏览 0 评论 0原文

目前,当我在主干中插入视图列表时,我会这样做:

    var jqGuestList = $("#guestList");
    jqGuestList.empty();

    items.each(function(item){
        var view = new wedapp.view.GuestItem({
            model: item,
            collection: this.collection
        });

        jqGuestList.append(view.render().el);
    });

然而,这给我带来了很大的痛苦,手动将每个视图添加到 DOM 非常慢,特别是在移动设备上,甚至在桌面上。

有没有一种方法可以插入一个 jqGuestList.html(views) 中的所有视图?

Currently when I insert a list of views in backbone I do :

    var jqGuestList = $("#guestList");
    jqGuestList.empty();

    items.each(function(item){
        var view = new wedapp.view.GuestItem({
            model: item,
            collection: this.collection
        });

        jqGuestList.append(view.render().el);
    });

This however cause my a great deal of pain, adding each one manually to the DOM is slow as hell, specially on mobile but even on desktop..

is there a way to insert all the views in one jqGuestList.html(views) instead?

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

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

发布评论

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

评论(1

锦欢 2024-12-30 18:29:54

您可以使用文档片段 http://ejohn.org/blog/dom-documentfragments/

var jqGuestList = $("#guestList");
jqGuestList.empty();

var frag = document.createDocumentFragment();
items.each( function(item) {
    var view=new wedapp.view.GuestItem({model:item});
    frag.appendChild(view.render().el);
});

jqGuestList.append(frag);

您应该会看到一些改进。

You could use a Document Fragment http://ejohn.org/blog/dom-documentfragments/

var jqGuestList = $("#guestList");
jqGuestList.empty();

var frag = document.createDocumentFragment();
items.each( function(item) {
    var view=new wedapp.view.GuestItem({model:item});
    frag.appendChild(view.render().el);
});

jqGuestList.append(frag);

You should see some improvement.

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