backbone>>model

<html>
<head>
    <title>backbone.js-Model</title>
</head>
<body>

</body>
<script src="../../../node_modules/jquery-2.0.2.min.js"></script>
<script src="../../../node_modules/underscore-min.js"></script>
<script src="../../../node_modules/backbone-min.js"></script>
<script>
(function($){
    //创建一个model类
    Man = Backbone.Model.extend({
        url:'/save',
        //initialize:model类的构造函数
        initialize:function(){
            alert('hey, you create a model');
            //为model的name属性绑定一个change事件,当name属性改变的时候,会触发
            this.bind('change:name', function(){
                var name = this.get('name');
                alert('你改变了name属性为: ' +name);
            });
            //为model添加验证规则,会有两个参数,一个当前的model对象,一个是错误信息
            this.bind('invalid', function(model, err){
                alert(err);
            });
        },
        //defaults:用来为model指定默认属性
        defaults:{
            name: '张三',
            age: '18'
        },
        //model的验证规则,如果验证错误,会调用invalid,有一个参数attribute用来表示所有的从参数,
        validate:function(attributes){
            if(attributes.name == ''){
                return 'name不能为空';
            }
        },    
        aboutMe:function(){
            //这里获取model里面的默认属性,必须用get的方式。this.age不能获取
            return '我叫' + this.get('name') + ', 今年' + this.get('age') + '岁'; 
        }
    });
    var man = new Man();
    man.set({name:'炉石'});
    man.save({name:''});
    man.save();//会将model的默认属性发送到对应的url,格式为json
    //可以通过man.fetch()方法来从服务端获取数据
    var man1 = new Man();
    //第一种,直接使用fetch(),会发送get请求道model的url中
    man1.fetch();
    //第二种,加入参数,发送到指定的url中
    man1.fetch({url:'getmans'});
    //但是如果要接受服务端的数据,要有一个success函数
    man1.fetch({url:'getmans'}, success:function(model, res){
        alert('success');
        //model为获取到的数据
        alert('name= '+model.get('name'));
    }, error:function(){
        alert('error');
    });
})(jQuery);
</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值