• Backbone 学习笔记三 extend


    extend   

    Backbone.Model.extend(properties,[classProperties])

    创建自己的模型类,可以扩展Backbone.Model并提供实例属性,以及可选的可以直接注册到构造函数的类属性

    extend用于设置正确的原型链,可以深度扩展

    var Note = Backbone.Model.extend({

      initialize:function(){ ... },      //构造函数

         author:function(){},

      coordinates:function(){},

      allowedToEdit:function(account) {

        return true;

      }

    });

    var PrivateNote = Note.extend({

      allowedToEdit:function(account){

        return account.onws(this);

      }

    })

    Javascript 没有直接提供调用父类的方式,如果你要重载原型链中上层定义的同名函数,并且你想调用 父对象的实现,这时需要明确的调用 它

    var CSSercom = Backbone.Model.extend({

      set: function(attributes,options) {

        Backbone.Model.prototype.set.call(this,attributes,options);

      }

    })

    constructor/initialize    构造函数,   

    当创建模型实例时,可以传入属性初始值,这些值会被set到模型。如果定义了initialize   函数时,会在模型创建后招行

    new Site({

      title:"Csser,关注Web后端技术",

      author:"一回"

    });

    get方法

    model.get(attribute)

    从模型取出当前值

    csser.get(attribute);

    set  model.set(attributes,[options])

    向模型设置一个或多个模型属性。如果任何一个属性改变了模型的状态,在不传入{slient:true} 选项参数的情况下,会触发change 事件。      可以绑定这个事件到某个属性,

    csser.set({title:"Csser",content:"http://www.csser.com"});

    如果模型有validate方法,那么属性验证会在set之前执行,如果验证失败,模型不会发生变化。这时set会返回false...     也在以在选项中传入error回调,,,,    不触发error事件

    escape   model.escape(attribute)

    与get 类似,但返回模型属性值的html转义后的版本。如果将数据从模型插入html,使用escape取数据可以避免XSS攻击

  • 相关阅读:
    django中间件和常用模块
    django之forms组件
    django和ajax、分页器、批量插入数据
    django之模型层ORM操作
    (专题三)02-1 程序和程序设计流程-选择结构
    (专题三)01 程序和程序设计流程-顺序结构
    (专题二)05 矩阵的存储方式
    (专题二)04 矩阵的处理-矩阵的特征值
    [代码片段]YEAH!连通域标记和计数
    TTL和CMOS
  • 原文地址:https://www.cnblogs.com/yushunwu/p/2293138.html
Copyright © 2020-2023  润新知