Backbone.Model
一、 Model 概念。
Model 顾名思义,模型。数据模型。相信大家马上想到的是java 的Class。没错你没有想错,就是Class。
官网的解释
Models是所有 Javascript 应用程序的核心,包括交互数据及相关的大量逻辑: 转换、验证、计算属性和访问控制。你可以用特定的方法extend
Backbone.Model , Models 也提供了一组基本的管理变化的功能。
二、extend
For java ,随便写一个类其实都是 extend Object。 For backbone, 如果你需要写一个自己的model 需要extend Back.model。Object 有其某些通用的方法
我们back.model也会有其封装的特定的方法,所以我们只需extend 它就可以创建一个 自己的model。
OK,眼看为虚,实践为实。给出代码让大家尝试下 ..
三 、实例
<!DOCTYPE html>
<html>
<head>
<title>the5fire.net-backbone.js-Hello World</title>
</head>
<body>
<p>Backbone Model Example</p><hr>
<span id="animal_atr"></span>
<label>请设置你的宠物名字:</label><br>
<input id="name"/> <button id="comfirm">修改</button>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone-min.js"></script>
<script>
(function ($) {
Pet = Backbone.Model.extend({
initialize: function(){
alert('Please set you pet name!');
var _t = this;
//初始化时绑定监听事件
this.bind("change:name",function(){
alert(_t.toString());
});
},
defaults: {
name:'旺财',
color:'灰色'
},
toString: function(){
return this.get('name')+'有一身'+this.get('color')+'的毛!';
}
});
var dog = new Pet;
$('#comfirm').click(function(){
var pname = $('input#name').attr('value');
dog.set({name:pname})
});
})(jQuery);
</script>
</html>
以上我创建了一个Pet Model 同时设置了他的名字属性, 当名字属性被修改的时候触发事件。也就是 initialize(初始化)的时候bind(绑定了) change方法。
有木有熟悉的感觉!!!。本篇文章比较简单仅供学习!