এই অংশে আমরা আলোচনা করব ব্যাকবোন.জেএস মডেলের কিছু মেথড নিয়ে যেগুলো বেশ কাজের, এবং ব্যাকবোন নিয়ে কাজ করার সময় অনেক কাজে লাগে। চলুন এক এক করে সেগুলো দেখা যাক
এর সাহায্যে আপনি খুব সহজেই মডেলের চেক করতে পারবেন যে মডেলের কোন প্রপার্টিতে কোন ভ্যালু সেট করা আছে কিনা।
if(p1.has("age")){
console.log("Age = " + p1.get("age"));
}
এই মেথডের সাহায্যে আপনি কোন ব্যাকবোন.জেএস মডেলকে JSON অবজেক্টে রূপান্তর করতে পারবেন। নিচের কোড চেক করুন
console.log(p1.firstName);
//this will output undefined
var p1json = p1.toJSON();
console.log(p1json.firstName);
//this will work :)
এই মেথডের সাহায্যে আপনি সার্ভার থেকে আপনার মডেলের ডেটা লোড করতে পারবেন। এক্ষেত্রে সার্ভার থেকে অবশ্যই আপনাকে ভ্যালিড JSON ডেটা রিটার্ন করতে হবে। মডেল কোন ইউআরএলে হিট করবে সেটা আপনাকে বলে দিতে হবে urlRoot প্রপার্টির মাধ্যমে। চলুন আমরা দেখি কিভাবে মডেলের save() মেথড টি ব্যবহার করা হয়।
var person = Backbone.Model.extend({
defaults:{
firstName: "The",
lastName: "Anonymous",
age: 0
},
getName: function(){
return this.get("firstName") + " " + this.get("lastName");
},
urlRoot:"http://bb.ee.t16.se/data" //this is important
});
var p1 = new person({
id:2
});
p1.fetch({
success:function(){
alert(p1.getName() + "\n" + "Age: " + p1.get("age"));
//this will show a new user's name and age
}
});
আপনি id ১ থেকে ৮ পর্যন্ত দিয়ে দেখতে পারেন, একেকটার ক্ষেত্রে এক এক ইউজারের নাম দেখাবে। আমাদের সার্ভার সাইডের স্ক্রিপ্টটি হল নিচের মত
<?php
header("Access-Control-Allow-Origin: *");
$id = $_GET['id'];
$data = array(
1 => array(
"firstName" => "Fra",
"lastName" => "Diamante",
"age" => "37"
),
2 => array(
"firstName" => "Raphael",
"lastName" => "Sanzio",
"age" => "34"
),
3 => array(
"firstName" => "Michael",
"lastName" => "Angelo",
"age" => "29"
),
4 => array(
"firstName" => "Donatello",
"lastName" => "di Niccolò di Betto Bardi",
"age" => "43"
),
5 => array(
"firstName" => "Domenico",
"lastName" => "Ghirlandaio",
"age" => "31"
),
6 => array(
"firstName" => "Dosso",
"lastName" => "Dossi",
"age" => "40"
),
7 => array(
"firstName" => "Rosso",
"lastName" => "Fiorentino",
"age" => "28"
),
8 => array(
"firstName" => "Artemisia",
"lastName" => "Gentileschi",
"age" => "23"
),
);
if($data[$id]) {
echo json_encode($data[$id]);
}else{
echo "{}";
}
আশাকরি সার্ভার সাইড কমুনিকেশনের জন্য এই fetch() মেথড কিভাবে ব্যবহার করতে হয় টা পরিষ্কার হয়েছে আপনাদের কাছে
এই মেথডের মাধ্যমে মডেলের ডেটা সার্ভার সাইডে HTTP POST করা যায়
এই মেথডটি মডেলের id রিটার্ন করে
মডেলে আর কি কি মেথড আছে তা জানার জন্য ভিজিট করতে পারেন এইখানে http://backbonejs.org/#Model
পূর্ববর্তী অংশ: ব্যাকবোন মডেলের ডেটা ভ্যালিডেশন | পরবর্তী অংশ: মডেলের ইভেন্ট নিয়ে কাজ করা