【问题标题】:Backbone model and Ajax call骨干模型和 Ajax 调用
【发布时间】:2013-11-20 17:52:14
【问题描述】:

我是主干新手,我正面临这个设计问题。

我有一个主干模型,为了更新自身,我对服务器进行了 Ajax 调用。 Ajax 调用的结果不是代表模型的漂亮而干净的 json,而是应该在页面中显示的实际 HTML。

根据主干约定,表示模型的视图应该监听属性变化,然后渲染表示模型的 UI。

由于模型直接从服务器获取 HTML,建议用什么方法来组织我的代码?

我的想法是将视图绑定到模型属性。当模型执行 ajax 调用时,属性会被更新,结果会通知视图(通过主干事件)并从模型中获取要显示的 HTML。

下图更好地解释了我的问题。

【问题讨论】:

    标签: javascript backbone.js


    【解决方案1】:

    鉴于您的 API 发送 HTML,并将其视为不可更改的外部约束,您的建议是务实的,所以我会这样做。

    【讨论】:

      【解决方案2】:

      在您的模型中覆盖 parse 方法并将结果存储为属性。与

      parse: function(response, options){
        this.set('html',response);
      }
      

      然后使用以下内容覆盖在您的视图中呈现

      render: function() {
          this.$el.html(this.model.get('html'));
          return this;
      }
      

      这会将您从服务器获得的响应插入到 DOM 中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-14
        • 1970-01-01
        • 1970-01-01
        • 2014-06-25
        • 2012-05-04
        • 2012-02-13
        相关资源
        最近更新 更多