簡體   English   中英

Backbone.js:使用模型屬性時如何捕捉拼寫錯誤?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM