2013-11-20 65 views
3

我是新來的主幹,我正面臨着這個設計問題。骨幹模型和Ajax調用

我有一個骨幹模型,爲了更新自己使服務器的Ajax調用。 Ajax調用的結果並不是代表模型的一些漂亮而乾淨的json,而是應該在頁面中顯示的實際HTML。

根據骨幹約定,表示模型的視圖應該監聽屬性更改,然後呈現表示模型的UI。

由於模型直接從服務器獲取HTML,因此我的代碼的建議方法是什麼?

我的想法是將視圖綁定到模型屬性。當模型執行ajax調用時,屬性得到更新,結果會通知(通過骨幹事件)視圖並從模型中提取要顯示的HTML。

以下圖表更好地解釋了我的問題。 enter image description here

回答

1

鑑於您的API發送HTML,並將其視爲一個不可更改的外部約束,您的建議是務實的,所以這就是我會做的。

0

在您的模型中覆蓋解析方法並將結果存儲爲屬性。與

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

然後覆蓋在您看來渲染以下:

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

這將插入你從服務器到DOM得到的迴應。