3
我剛剛開始使用backbone.js,我正在尋找一種在模型上聲明字段而不必提供默認值的方法。這僅僅是供參考,所以當我開始創建實例時,我可以看到我需要初始化哪些字段。在不設置默認值的情況下在骨幹模型上聲明變量
的東西像Java我會寫
public class CartLine{
StockItem stockItem;
int quantity;
public int getPrice(){
return stockItem.getPrice() * quantity;
}
public int getStockID(){
//
}
}
與骨幹機型
不過,我引用我的方法的領域,但我實際上沒有宣佈他們 - 它看起來像我可以很容易地創建一個CartLine
對象不包含stockItem
屬性或quantity
屬性。當我聲明對象時,不要提及這些字段感覺很奇怪。特別是因爲該對象應該表示服務器上的實體。
var CartLine = Backbone.Model.extend({
getStockID: function(){
return this.stockItem.id;
},
getTotalPrice: function() {
return this.quantity * this.StockItem.get('price');
}
});
我想我可以通過驗證加參考某種 -
CartLine.validate = function(attrs){
if (!(attrs.stockItem instanceof StockItem)){
return "No Valid StockItem set";
}
if (typeof attrs.quantity !== 'number'){
return "No quantity set";
}
}
但我的問題是 - 我這麼想嗎?這是否有一個確定的模式?
Jsdoc/comments ?這就是我使用的,如果我不只是設置默認值'null'。 – WiredPrairie 2013-05-01 11:12:04
模型保存給定資源的URL,並根據需要構建您的請求數據。你爲什麼要聲明沒有默認值的變量?無論如何,你可以聲明變量,如聲明私有或公共變量在一個JavaScript「類」 – juanpastas 2013-05-01 14:46:43