私は Backbone.js の初心者ですが、jQuery は大好きです。しかし、Backbone がコードをモデル、ビュー、およびコレクションに編成する方法は気に入っていますが、JS コードを作成するときに Backbone をどのように使用するかについてはまだ理解できません。
たとえば、ユーザーが入力ボックスに入力したときに提案ボックスを追加する、jQuery で書いた次の単純なコードを見てください。
// this is the model
var questions = [
{question: "what is your name"},
{question: "How old are you"},
{question: "what is your mothers name"},
{question: "where do work/or study"}
];
// search data function
function searchData(datas,term){
return _.filter(datas, function(obj) {
return ~obj.question.toLowerCase().indexOf(term);
});
}
// Events
$("#suggestinput").on({
keyup: function(){
var results = searchData(questions, this.value);
$("#suggestions")
.addClass("active")
.html(_.reduce(results, function(last, q){
return last + "<p>" + q.question + "</p>";
}, ""));
},
blur: function () {
$("#suggestions").removeClass('active');
$("#suggestions").html(" ");
},
focus: function () {
if ( $(this).val() === "" ) {
$("#suggestions").addClass('active');
$("#suggestions").html("<p> start typing a question </p>");
}
}
});
Backbone.js 構造を使用して、このようなミニ機能を構築するためのアドバイスはありますか? コード全体を書くように言っているわけではありません。大まかなガイドラインや説明をいただければ幸いです。
JSFiddle にもこのコードの実例があります: http://jsfiddle.net/X8geT/1/