BackbonejsのModelにはdefaultsというプロパティがありますが、Viewには存在しないことを知りました。
しかし、表示に関することは、Viewのプロパティに持たせようと思っています。下記のソースコードではdefaultsは機能しません。
coffeescript
1Item = Backbone.Model.extend 2ItemView = Backbone.View.extend 3 tagName: 'i' 4 attributes: 5 draggable: 'true' 6 defaults: 7 dragging: false 8 dropping: false 9 nonEffectsClass: 'noEffect' 10 dropClass: 'dropItem' 11 12itemView = new ItemVIew(model: item)
なので、initializeで1個ずつハッシュの値を検証してデフォルト値を入れる方法を思いつきました。
coffeescript
1ItemView = app.ViewBase.extend 2 tagName: 'i' 3 attributes: 4 draggable: 'true' 5 initialize: (options) -> 6 dragging = options.dragging || false 7 dropping = options.dropping || false 8 nonEffectsClass = options.nonEffectsClass || 'noEffect' 9 dropClass = options.dropClass 'dropItem'
何故Viewにはdefaultsが用意されていなかわかりませんが、皆さんは他にどのような方法でデフォルト値を定義していますか?
また、上記のViewのinitializeで定義しているようなプロパティは、ViewではなくModelに定義した方がいいでしょうか?ModelにDBに保存する値だけプロパティとして保持するものだと思っています。
ご回答、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/12 15:10