如何处理主干视图中的异步链接模型
How do you handle async linked models in Backbone views
渲染 Backbone.View 时,您通常会传递模型model.toJSON()
的当前状态,也许还会传递一些额外的属性。这是一个同步任务。
您如何处理模型上需要异步任务的属性,例如需要从服务器获取的另一个模型的 id(例如 person_id
(
您是在同步和渲染之前解析 person 属性并将其附加到模型属性,还是渲染视图并侦听 person fetch 事件以在之后重新渲染该部分视图?
铌。我正在使用Backbone.Marionette,所以我有点局限于更改渲染方法
答案是:这取决于:-(
根据具体情况,您可以:
- 从服务器获取模型,然后显示视图
- 更新已显示的模型
通常,如果您显示"新"数据(即需要获取整个模型(,我会在获取数据时显示加载视图,然后在获取数据时显示新视图(和数据((请参阅 https://github.com/davidsulc/marionette-gentle-introduction/blob/master/assets/js/apps/contacts/show/show_controller.js(
但在其他情况下(例如,用户返回到"您可能也喜欢"的产品列表,例如在亚马逊上(,您可以显示您手头的数据,获取"最新"数据,然后重新呈现视图。
总而言之,这实际上取决于您要提供的用户体验。
相关文章:
- 如何使用javascript从主svg对象动态创建svg视图框
- 正在使用$location.path(.)路由ng视图
- angular.js没有'无法在PhoneGap中处理视图标记
- 当视图在AngularJS中返回时,我如何获得异步服务调用来更新视图
- 如何使rails上的所有图像异步加载视图页面
- 支持使用Backbone.js视图加载异步模板
- backbone.js视图没有't由于异步获取而显示结果;t渲染
- 从视图调用异步加载模块函数
- 在 Angular 控制器完成加载异步函数后加载 html 视图
- 如何处理主干视图中的异步链接模型
- 反应,异步加载具有不同组件的多个部分/视图
- 获取到组件的异步视图模型
- 异步处理不影响 React+Flux 中视图的数据
- AngularJS:在模型和视图之间异步收集附加数据
- ExtjsMVC嵌套视图事件和异步函数
- Ember-嵌套视图中的异步数据
- Angularjs不会更新异步模型更改的视图
- 主干创建集合,然后视图-异步
- $scope没有在第三方API异步调用后对视图应用更改
- 主干异步视图实例化