[英]Backbone.js: How to catch typos when working with model attributes?
我是JS開發的新手,我發現自己花費了很多精力來解決由模型屬性(尤其是model.get()的使用)中的錯字引起的錯誤。 雖然我的單元測試確實能抓住其中的大部分,但在編碼時必須修正並記住名稱仍然很煩人。 有什么可以警告我這些錯別字的嗎?
我們使用的一種策略是定義一個哈希並將其用於設置器和獲取器
var ATTRS = {
attr1: 'attr1',
attr2: 'attr2'
}
model.set (ATTRS.attr1, 'attr1_val');
model.get (ATTRS.attr1);
在某些情況下,例如由於JS不允許在哈希的左側使用變量,因此您將無法使用它。 但在大多數情況下,它有助於消除大多數簡單的錯字錯誤
{ ATTRS.attr: 'def_val' } // this will give an error
希望這個幫助
首先,安裝插件_super:
https://github.com/lukasolson/Backbone-Super
現在創建一個抽象模型:
YourAbstractModel = Backbone.Model.extend({
get : function(attr){
if( !_.has(this.defaults, attr) ){
throw 'Invalid attribute: ' + attr;
}
return this._super(attr);
}
});
您的模型應該擴展摘要而不是Backbone.Model(並且應該設置默認值)。
我認為測試是最好的方法。
包括驗證/拼寫檢查代碼在內,這最終將成為您的生產應用程序的一部分,是一個壞主意。 如果您輸入的變量名稱不正確-應該在開發時的測試中發現它,而不是在運行時進行驗證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.