1

モデルで簡単なことをしたい:

  • 有効な場合はコンストラクターパラメーターを使用します(ただし、それらを割り当てるだけでなく、異なる形式であるため、事前にマップする必要があります)
  • それ以外の場合は、使用しますdefaults

これに対する推奨される解決策は何ですか?

4

1 に答える 1

1

これは、を呼び出すことisValid()で実現できinitializeます。有効な場合は、通常どおり続行します。それ以外の場合は、モデルをクリアして、デフォルト値でリセットします。

initialize: function() {
    console.log("initializing model...");
    if (!this.isValid()) {
        console.log("Model is not valid, using defaults");
        this.clear({ silent: true });
        this.set(this.defaults, { silent: true });
    }
    console.log("Model is valid");
},

この作業デモをご覧ください。

編集

モデルコンストラクタでオブジェクトを使用することができます。次に例を示します。

var model = new Backbone.Model({
    title: "test",
    hsa: {
        h: 120,
        s: "100%",
        a: "50%"
    }
});

また、それをまたは何かとして指定し、hsa: "120, 100%, 50%"その値をコンストラクター内のオブジェクトに変換することもできます。

こちらをご覧ください。

于 2012-12-01T11:35:10.830 に答える