骨干模型和Ajax调用

时间:2013-11-20 17:52:14

标签: javascript backbone.js

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

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

根据骨干约定,表示模型的视图应该监听属性更改,然后呈现表示模型的UI。

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

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

以下图表更好地解释了我的问题。 enter image description here

2 个答案:

答案 0 :(得分:1)

鉴于您的API发送HTML,并将其视为不可更改的外部约束,您的提案是务实的,这就是我要做的。

答案 1 :(得分:0)

在模型中覆盖解析方法并将结果存储为属性。与

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

然后使用以下内容覆盖视图中的渲染

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

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