Backbone.js之model篇(一)

旧巷老猫 提交于 2019-12-30 12:40:39

Backbone.js之model篇(一)

Backbone 是一个前端 JS 代码 MVC 框架,它不可取代 Jquery,不可取代现有的 template 库。而是和这些结合起来构建复杂的 web 前端交互应用。

Backbone 主要包括 models, collections, views 和 events, controller。

(一)model  

  关于 backbone,最基础的一个东西就是 model,这个东西就像是后端开发中的数据库映射那个 model 一样,也是数据对象的模型,并且应该是和后端的 model 有相同的属性(仅是需要通过前端来

  操作的属性)。

     Models 用来创建数据,校验数据,存储数据到服务器端.Models 还可以绑定事件。比如用户动作变化触发 models 的 change 事件,所有展示此model 数据的 views 都会接收到 这个 change 事件,进行重绘。

最简单的定义如下:

  1. var Game = Backbone.Model.extend({});

稍微发杂一点

  1. var Game = Backbone.Model.extend({
  2.         initialize: function(){
  3.             alert("Oh hey! ");
  4.         },
  5.           defaults: {
  6.             name: 'Default title',
  7.             releaseDate: 2011,
  8.         }
  9.     });

initialize 相当于构造方法,初始化时调用

简单实用:

  1. // Create a new game
  2. var portal = new Game({ name: "Portal 2", releaseDate: 2011});
  3. // release will hold the releaseDate value -- 2011 here
  4. var release = portal.get('releaseDate');
  5. // Changes the name attribute
  6. portal.set({ name: "Portal 2 by Valve"});

此时数据还都在内存中,需要执行save方法才会提交到服务器。

          portal.save();

Backbone 是一个前端 JS 代码 MVC 框架,它不可取代 Jquery,不可取代现有的 template 库。而是和这些结合起来构建复杂的 web 前端交互应用。

Backbone 主要包括 models, collections, views 和 events, controller。

(一)model  

  关于 backbone,最基础的一个东西就是 model,这个东西就像是后端开发中的数据库映射那个 model 一样,也是数据对象的模型,并且应该是和后端的 model 有相同的属性(仅是需要通过前端来

  操作的属性)。

     Models 用来创建数据,校验数据,存储数据到服务器端.Models 还可以绑定事件。比如用户动作变化触发 models 的 change 事件,所有展示此model 数据的 views 都会接收到 这个 change 事件,进行重绘。

最简单的定义如下:

  1. var Game = Backbone.Model.extend({});

稍微发杂一点

  1. var Game = Backbone.Model.extend({
  2.         initialize: function(){
  3.             alert("Oh hey! ");
  4.         },
  5.           defaults: {
  6.             name: 'Default title',
  7.             releaseDate: 2011,
  8.         }
  9.     });

initialize 相当于构造方法,初始化时调用

简单实用:

  1. // Create a new game
  2. var portal = new Game({ name: "Portal 2", releaseDate: 2011});
  3. // release will hold the releaseDate value -- 2011 here
  4. var release = portal.get('releaseDate');
  5. // Changes the name attribute
  6. portal.set({ name: "Portal 2 by Valve"});

此时数据还都在内存中,需要执行save方法才会提交到服务器。

          portal.save();

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!