【问题标题】:How do you handle async linked models in Backbone views您如何处理 Backbone 视图中的异步链接模型
【发布时间】:2013-10-09 08:26:51
【问题描述】:

在渲染 Backbone.View 时,您通常会将模型的当前状态 model.toJSON() 以及一些额外的属性传递给它。这是一个同步任务。

您如何处理模型上需要异步任务的属性,例如需要从服务器获取的另一个模型的 id(例如 person_id

您是在同步和渲染之前解析人员属性并将其附加到模型属性中,还是渲染视图并监听人员获取事件以在之后重新渲染该部分视图?

注意。我正在使用 Backbone.Marionette,所以对更改渲染方法有点限制

【问题讨论】:

    标签: javascript backbone.js marionette backbone-model


    【解决方案1】:

    答案是:这取决于:-)

    根据情况,您可以:

    • 从服务器获取模型,然后显示视图
    • 更新已显示的模型

    通常,如果您要显示“新”数据(即需要获取整个模型),我会在获取数据时显示加载视图,然后显示新视图(和数据)。已获取(参见https://github.com/davidsulc/marionette-gentle-introduction/blob/master/assets/js/apps/contacts/show/show_controller.js

    但在其他情况下(例如,用户返回到“您可能还喜欢”产品的列表,例如在亚马逊上),您可以显示您手头的数据、获取“新鲜”数据并重新呈现视图.

    总而言之,这真的取决于您想要提供的用户体验。

    【讨论】:

    • 谢谢,你的回答真的很有帮助,尤其是 github 项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多