backbone>>model

来源:互联网 发布:淘宝网婴儿大pp裤 编辑:程序博客网 时间:2024/06/05 13:38
<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>

0 0
原创粉丝点击