これを行うためのより良い方法があるかどうか疑問に思っています。
いくつかのイベントを添付する必要がある HTML があります。
質問 1: 背後にデータ、モデル、またはコレクションがないため、レンダリング メソッドは必要ないと思いますか?
質問 2: バックボーンのビューである必要があると思いますが、これは単一の UI であり、コードを接続する必要がありますか?
基本的に私が持っているのは、表示と非表示の機能を備えたパネルで、設定を保存するためのチェックボックスがいくつか表示されます。パネルを閉じると、チェック ボックスの状態が保存されます。
HTMLは次のとおりです。
<div id="panel-holder">
<div id="settings">
<ul class="settingsChecks">
<li>
<label>Display Desktop Notification Popup </label>
<input type="checkbox" id="formDisplayPopup" checked="checked"/>
</li>
<li>
<label>Play Alert Sound </label>
<input type="checkbox" id="formPlaySounds" checked="checked"/>
</li>
</ul>
</div>
</div>
したがって、上記のコードは #panel-holder を使用してビューにアタッチされます。
バックボーン コードは次のとおりです。
var SettingsView = Backbone.View.extend({
el: '#panel-holder',
events: {
'click #click': 'toggleContent'
},
initialize: function() {
this.toggleContent();
},
showmeState: true,
toggleContent: function(){
if (this.showmeState === false) {
this.openPanel();
} else {
this.closePanel();
}
},
closePanel: function() {
this.$el.find('#settings').slideUp('fast');//Close Panel
this.$el.find('#click').text("Open Settings");//Change Text
this.showmeState = false;
this.saveSettings();
},
openPanel: function() {
this.$el.find('#settings').slideDown('fast');//Open Panel
this.$el.find('#click').text("Close Settings");//Change Text
this.showmeState = true;
},
saveSettings: function() {
//when the panel closes get the states of the checkboxes and save them
}
});
質問 3: 開いているパネル領域と閉じるパネル領域で jQuery .find('') を使用する必要がありますか? これらの要素に機能を追加するより良い方法はありますか?
質問 4: このコードとバックボーン ビューに関する私の理解は大丈夫ですか? 私はコースから外れていますか?