【问题标题】:backbone views that create views创建视图的主干视图
【发布时间】:2012-02-23 18:48:59
【问题描述】:

所以事情就是这样。我正在制作一个使用backboneJS 的应用程序。我目前创建了一个不同行的列表。每行都有一个功能为editRow 的编辑按钮和一个功能为removeRow 的删除按钮。当前 editRow 工作,它创建新视图,在这种情况下是 modalWindow 及其 app.EditRowView。这个视图有另一个我根本无法绑定的按钮。没有被绑定的函数是modalWindow。 有什么线索吗?我的逻辑错了吗?视图不应该创建其他视图吗? 像往常一样非常感谢任何帮助。

app.FormRowView = Backbone.View.extend({ 标记名称:'li', 事件:{ "点击 .danger" : "removeRow", “点击.primary”:“editRow” }, 初始化:函数(){ var template =this.model.get('temp'); _.bindAll(this, 'render'); this.model.bind('改变', this.render); this.template = _.template($("#"+template).html()); }, 渲染:函数(){ var renderContent = this.template(this.model.toJSON()); $(this.el).html(renderedContent); $(函数(){ $( ".sortable" ).sortable(); $( ".sortable" ).disableSelection(); }); 返回这个; }, 删除行:函数(){ $(this.el).remove(); }, 编辑行:函数(){ var view = new app.EditRowView({ 模型:this.model, 集合:this.collection }); $("body").append(view.render().el); 返回这个; } }); app.EditRowView = Backbone.View.extend({ 事件:{ “点击.save”:“modalWindow” }, 初始化:函数(){ var template =this.model.get('editScreenTemplate'); _.bindAll(this, 'render'); this.model.bind('改变', this.render); this.template = _.template($("#"+template).html()); }, 渲染:函数(){ var renderContent = this.template(this.model.toJSON()); $(this.el).html(renderedContent); 返回这个; }, 模态窗口:函数(){ 警报(“我在”); } });


基本上发生的事情是函数 modalWindow 永远不会触发。我在 UI 中有正确的元素(一个带有 .save 类的按钮)

【问题讨论】:

    标签: javascript jquery backbone.js


    【解决方案1】:

    大家好,我想通了。我需要指定一个 tagName 以便委托事件绑定到该视图... 感谢任何方式

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      • 2013-05-14
      • 2012-11-11
      • 2014-01-16
      相关资源
      最近更新 更多