@52fhy
        
        2016-01-22T08:23:28.000000Z
        字数 1190
        阅读 578
    backbone
<!DOCTYPE html><head><meta charset="utf-8"><title>title</title><script src="http://the5fireblog.b0.upaiyun.com/staticfile/jquery-1.10.2.js"></script><script src="http://the5fireblog.b0.upaiyun.com/staticfile/underscore.js"></script><script src="http://the5fireblog.b0.upaiyun.com/staticfile/backbone.js"></script></head><body><script>var Man = Backbone.Model.extend({initialize: function(){//事件绑定//object.on(event, callback, [context])别名: bindthis.on("change:name", function (model) {console.log('name被改变为:' + this.get('name'));//console.log(model);});//为对象添加验证规则,以及错误提示。invalid是内置事件.参考Catalog of Events//也可以在对象生成之后绑定invalid事件,例如man.on('invalid', function (model, error) {});this.on('invalid', function (model, error) {console.log(model);console.log(error);});},//默认属性defaults: {name:'张三',age: '38'},// 默认情况下validate在save之前调用, 但如果传递了 {validate:true},也可以在set之前调用。//校验失败将触发"invalid"事件, 并用此方法返回的值设置模型上的validationError属性。validate:function(attr){if(attr.name == '') {return "name不能为空!";}},});var man = new Man();//1.设置属性,将会触发事件绑定//man.set({"name":"yjc", "age":'22'});//2.man.set({"name":""});//man.save();//会调用model.validate方法验证//也可以手动触发model.validate方法验证man.set({"name":""}, {"validate": true});</script></body>
