javascript - 在 Backbone 中将模型异步绑定(bind)到 View

标签 javascript backbone.js

我的问题是将我在应用程序期间的某个时间创建的模型绑定(bind)到在初始化时创建的 View 。让我更好地解释一下:

在我的 route ,我设置了一个 View :

...
var view = new app.FirstView();
view.render();

app.FirstView = Backbone.View.extend({

   initialize: function(){
     ...
     this.SidebarView = new app.SidebarView(); 
   }
... });

在我的应用程序期间的某个时间 X,我在另一个 View 中出现了此行为:

app.AnotherView = Backbone.View.extend({
   ...
   onClickHandler: function(){
      var aModel = app.aModel();
      var view = app.aView({ model: aModel });
   }
})

我现在的问题是绑定(bind)aModel onClickHandler中定义至SidebarView我创建并绑定(bind)到 FirstView在初始化时。

如果有什么不清楚的地方请告诉我。

提前致谢

最佳答案

一种解决方案是使用事件,例如,

在您的 AnotherView 中触发事件并传递给模型到 View

 onClickHandler: function(){
      var aModel = app.aModel();
      Backbone.trigger('model:assigned',aModel);
   }

在侧边栏 View 的初始化中,您应该监听事件

Backbone.on("model:assigned",function(passedModel){
   this.model = passedModel; 
})

注意1:您必须确保 sidebarView 在触发事件时已初始化。

注2:尝试避免全局事件,我使用它是因为我不知道你的代码结构。

关于javascript - 在 Backbone 中将模型异步绑定(bind)到 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28497375/

相关文章:

backbone.js - underscore.js 模板中的每个循环

backbone.js - 在 RequireJs 和 Backbone App 中放置加载代码的位置

javascript - Backbone.js:从 View 中的另一个方法调用一个方法?

javascript - 将 promise 与 promise all 链接起来会导致意外的执行顺序

javascript - 在 angular js 函数中使用 jquery 不起作用?

javascript - 如何打印 iframe 内容

javascript - 在 Backbone.js View 中监听集合的函数调用

javascript - 如何使用backbone.js save()方法在表单提交后上传多个文件?

javascript - NodeJS/Express : How to get enctype of submitted form?

javascript - 如何修复 Node js 中的设置 header ?