zoukankan      html  css  js  c++  java
  • 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攻击

  • 相关阅读:
    node.js系列:(调试工具)node-inspector调试Node.js应用
    NodeJs系列一:神奇的nodejs
    [原创] JavaScript实现简单的颜色类标签云
    jquery实现图片上传前本地预览
    前端制作入门知识
    解决pycharm中加载本地网页,弹出“requested without authorization”提示框不能加载网页的问题
    Mac中的Python安装selenium,结合chrom及chromdriver使用
    面试题(一)
    Python脚本之——API自动化框架总结
    红日ATT&CK红队评估实战靶场1
  • 原文地址:https://www.cnblogs.com/yushunwu/p/2293138.html
Copyright © 2011-2022 走看看