美文网首页
backbone小点

backbone小点

作者: 2016_18点 | 来源:发表于2017-08-28 00:04 被阅读0次

    要注意是集合的方法还是模型的方法还是jQuery的方法
    注意传参需要的类型返回类型使用方法


    on和listenTo
    • on 就是对object的事件监听
    • listenTo是对其他object的触发事件进行监听,比如view要在model改变时做处理之类的情况,灵活一些

    Collection中的添加和删除
    • 添加
      1.books.add(books.models[2]);向集合中的指定位置插入模型,如果没有指定位置,默认追加到集合尾部
      2.books.push();将模型追加到集合尾部(与add方法的实现相同)
      3.books.unshift();将模型插入到集合头部
    • 删除
      1.books.remove(books.models[2]);从集合中移除一个或多个指定的模型对象
      2.books.pop();移除集合尾部的一个模型对象
      3.books.shift();移除集合头部的一个模型对象
      :添加和删除的方法都不止一种,区别只是添加和删除的位置不同

    Collection中的查找

    Collection定义了一系列用于快速从集合中查找我们想要的模型的方法,包括:
    1.get():根据模型的唯一标识(id)查找模型对象
    2.getByCid():根据模型的cid查找模型对象
    3.at():查找集合中指定位置的模型对象
    4.where():根据数据对集合的模型进行筛选


    Backbone.Router更侧重前端单页应用的导航

    collection-reduce

    _.reduce(list, iteratee, [memo], [context])

    • reduce方法把list中元素归结为一个单独的数值。
    • Memo是reduce函数的初始值,会被每一次成功调用iteratee函数的返回值所取代 。
    • 如果没有memo传递给reduce的初始调用,iteratee不会被列表中的第一个元素调用。第一个元素将取代memo参数传递给列表中下一个元素调用的iteratee函数。
    var sum = _.reduce([1, 2, 3], function(memo, num){ return memo + num; }, 0);
    => 6
    


    flatten

    将一个嵌套多层的数组 array(数组) (嵌套可以是任何层数)转换为只有一层的数组。 如果你传递 shallow参数,数组将只减少一维的嵌套。

    _.flatten([1, [2], [3, [[4]]]]);
    => [1, 2, 3, 4];

    _.flatten([1, [2], [3, [[4]]]], true);
    => [1, 2, 3, [[4]]];


    pick _.pick(object, *keys)

    返回一个object副本,只过滤出keys(有效的键组成的数组)参数指定的属性值。或者接受一个判断函数,指定挑选哪个key。

    _.pick({name: 'moe', age: 50, userid: 'moe1'}, 'name', 'age');
    => {name: 'moe', age: 50}
    
    _.pick({name: 'moe', age: 50, userid: 'moe1'}, function(value, key, object) {
      return _.isNumber(value);
    });
    => {age: 50}
    

    前端数据和后端数据同步
    collection保存数据,需要fetch与后端数据进行同步。
    否则后端数据修改,而collection仍会是之前的旧数据


    模块的加载

    在ES6之前,社区制定了一些模块加载方案,最主要的有CommonJS和AMD两种。前者用于服务器,后者用于浏览器。ES6在语言规格的层面上,实现了模块功能,而且实现得相当简单,完全可以取代现有的CommonJS和AMD规范,成为浏览器和服务器通用的模块解决方案。

    相关文章

      网友评论

          本文标题:backbone小点

          本文链接:https://www.haomeiwen.com/subject/cynidxtx.html