2016-10-21 2 views
-3

すべてが意味を成しています。私のset()ヘルパーメソッドで何が問題なのか分かりません。model.set()を使用したときにバックボーンオペレータがエラーになる

var Person = Backbone.Model.extend({ 
    defaults: { 
    name: '', 
    age: 30, 
    occupation: 'fireman' 
    }, 
    validate: function(attrs) { 
    console.log(attrs); 
    }, 
    work: function() { 
    return this.get('name') + ' is working'; 
    } 
}) 

var p = new Person({name:'John'}); 
//p.set('occupation','software developer'); why this has error? 
console.log(p.toJSON()) 

http://jsfiddle.net/8hsnbxe3/

+0

'p.set'は、オブジェクトだけではなく、二つの文字列を要求します。 – nicovank

答えて

1

あなたはあなたの例ではBACKBONE.JS 0.3.3をリンクされていること、気づいていますか?

当時、.set(key、value)パターンは使用できませんでしたが、オブジェクトを最初のパラメータとしてプッシュするだけで値を設定できました。

model.set(obj, options) 

obj更新された属性を持つオブジェクトまたはバックボーンモデルオブジェクトです。ここで

は使用:

p.set({"occupation":"software developer"}); 
+0

http://i.imgur.com/qytzpDF.png – Sandy

+0

バージョン1.3.3を試しましたが、エラーが発生しました。http://jsfiddle.net/8L54y6by/ – Sandy

+0

これはどうしてですか? – Sandy

0
p.set({"occupation":"software developer"}); 
+0

http://i.imgur.com/qytzpDF.png – Sandy

+1

このコードがOPに役立つ理由の説明を追加してください。これにより、今後の視聴者からの回答が得られます。詳細については、[回答]を参照してください。 –

関連する問題