首页 > 其他 > 详细

Backbone学习笔记 - Model篇

时间:2015-12-09 17:06:01      阅读:156      评论:0      收藏:0      [点我收藏+]

2 Model

在Backbone中,Model用于存储核心数据,可以将数据交互相关的逻辑代码放在这里。基本形式如下:

var Human = Backbone.Model.extend({
    initialize: function(){
        alert("Welcome to this world");
    }
});

var human = new Human();

设置属性(两种形式)

var human = new Human({ name: "Thomas", age: 67});

// or we can set afterwards, these operations are equivalent
var human = new Human();
human.set({ name: "Thomas", age: 67});

 

获得属性值

var name = human.get("name"); // "Thomas"

 

设置默认属性(Defaults)

var Human = Backbone.Model.extend({
  defaults: {
    name: ‘Fetus‘,
    age: 0,
    child: ‘‘
  },
  initialize: function(){
    alert("Welcome to this world");
  }
});

 

设置额外的函数修改属性

var Human = Backbone.Model.extend({
  defaults: {
    name: ‘Fetus‘,
    age: 0,
    child: ‘‘
  },
  initialize: function(){
    alert("Welcome to this world");
  },
  adopt: function( newChildsName ){
    this.set({ child: newChildsName });
  }
});

var human = new Human({ name: "Thomas", age: 67, child: ‘Ryan‘});
human.adopt(‘John Resig‘);
var child = human.get("child"); // ‘John Resig‘

 

监听某个值的变化

var Human = Backbone.Model.extend({
  defaults: {
    name: ‘Fetus‘,
    age: 0
  },
  initialize: function(){
    alert("Welcome to this world");
    this.on("change:name", function(model){
      var name = model.get("name"); // ‘Stewie Griffin‘
      alert("Changed my name to " + name );
    });
  }
});

var human = new Human({ name: "Thomas", age: 67});
human.set({name: ‘Stewie Griffin‘}); // This triggers a change and will alert()

 

Backbone学习笔记 - Model篇

原文:http://www.cnblogs.com/dawn/p/5033184.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!