1
比方說,我建立一個簡單的MVC的JavaScript可視化。JavaScript的OOP - 類方法(簽名和公約)
一種特定的可視化視圖控制器可以是這個樣子:
Controller {
model
year
width
height
xScale
yScale
render() {
this.year = this.model.get("year")
this.width = this.model.get("width")
updateScales();
draw A, B, C
}
updateScales() {
this.xScale = this.width ...
}
}
正如你所看到的,每個控制器的渲染方法被調用時,它設置一些屬性,並更新了「派生的規模屬性」 。
我有一個關於這個代碼的兩個問題:
1)它是一個不好的做法,有類方法直接在類的屬性工作?他們是否應該返回一個價值並簽名?
2)假設我想優化該代碼,以便當寬度或高度被改變updateScales僅調用。什麼是處理這種模型屬性變化相關邏輯的一種很好且相當通用的方法?
你重新發明輪子? – dynamic 2012-02-20 13:11:31
什麼車輪? :)我很好奇在這種情況下,返回值和明確設置簽名的優點和缺點。 – dani 2012-02-20 13:15:10
1)取決於;)。 2)由於您已經爲您的問題設置了backbone.js框架標籤,請查看[它的'Model'文檔](http://documentcloud.github.com/backbone/#Model)並查找「更改」事件處理。 – 2012-02-20 13:18:03