• backbone学习笔记:模型(Model)(1)基础知识


       backbone为复杂Javascript应用程序提供MVC(Model View Controller)框架,框架里最基本的是Model(模型),它用来处理数据,对数据进行验证,完成后台数据与前台数据的交互(从前台提交到后台的数据,从后台获取数据传递到前台,都由Model负责)。

       backbone有基本的Model对象Bacxbone.Model,可以通过extend进行扩展,每个模型都有一个唯一的标识符属性id,区分不同的模型,

    下面创建一个扩展的模型     

    var RoomModel = new Backbone.Model.extend({
      
     });

     设置模型id  

    var room =new RoomModel();
    
       room.id = Math.random().toString(36).substr(2)

     默认情况下,属性名是id,也可以在创建模型时通过设置idAttribute来改变 

    var RoomModel = new Backbone.Model.extend({
        idAttribute:"_id"
     });

      注:id属性如果没有初始化,可以使用模型对象的cid属性,cid属性的值在模型对象的实例创建时自动赋值,并且是唯一的

       现在我们为上面创建的模型添加属性,并且为属性添加默认属性值

       添加默认属性值的方法有2种:

         1.利用defaults属性设置     

    var RoomModel = new Backbone.Model.extend({
    defaults:{ name:
    '', createdAt:new Date(), capacity:10 } });

     

         2.利用initialize(),初始化的时候设置    

    var RoomModel = new Backbone.Model.extend({
      defaults:{
        name:'',
        createdAt:new Date(),
        capacity:10
      },
      initialize:function(){
    //先检查updatedAt是不是存在
    if(!this.has('updatedAt'){ var updatedAt= new Date(); } } });

     

        模型属性的操作:set(),get(),unset(),clear(),has()

          模型里的属性不能用‘.’操作符访问

          var  room = new RoomModel();

           1. set():为Model创建/更新属性,属性不存在就会创建一个

           room.set({name:'会议室',user:'daner‘});

           2. get()获取属性值,如果属性不存在返回undefined

     

           room.get(’user') ; //返回'daner‘

           3. unset()从model中删除一个属性

            room.unset(’user'); //删除user属性

            4. clear();//删除model中的所有属性

             room.clear()

            5. has();//判断model中是否有某个属性

             room.has('name');//有name属性返回true,否则返回false

     

       

  • 相关阅读:
    jmeter在Windows下安装(含插件安装)
    Jenkins中agent的使用
    Jenkins自动化测试脚本的构建
    Python在Linux下编译安装
    Jenkins项目构建运行
    VIM不正常退出产生的swp文件
    SSI服务器端包含注入
    【强网杯2019】随便注
    判断网站CMS
    windows基础
  • 原文地址:https://www.cnblogs.com/greenteaone/p/4322411.html
走看看 - 开发者的网上家园