zoukankan      html  css  js  c++  java
  • [Backbone]6. Collections.

    Define a collection:

    var AppointmentList = Backbone.Collection.extend({model: Appointment});

    RESET the json:

    var appointments = new AppointmentList();
    var json = [
      {title: 'Back pain'},
      {title: 'Dry mouth'},
      {title: 'Headache'} 
    ];
    appointments.reset(json);

     Get url and fetch json data:

    var AppointmentList = Backbone.Collection.extend({
      url: '/appointments',
      model: Appointment
    });
    var appointments = new AppointmentList();
    
    appointments.fetch();

    This Dr. Goodparts does not trust us when we tell him we are successfully loading data from the server into our collection.

    To prove him wrong, display an alert with the number of items in the collection by listening for the reset event.

    var appointments = new AppointmentList();
    appointments.fetch();
    appointments.on('reset', function(){
        alert(appointments.length);
    });

    Wouldn't ya know, our users don't like getting alerts every time we fetch new data for our collection.

    Update the fetch call below to not fire the reset event.

    //By default, when fetch or add model, the reset event will be triggered.
    //TO disable the reset event, can use 
    appointments.fetch({silent: true});

    Use an event listener to log to the console the model's title anytime a model is added to the appointments collection.

    var appointments = new AppointmentList();
    appointments.on('add', function(appointment){
        console.log(appointment.get('title'));
    });

    There are a lot of appointments in our collection and Dr. Goodparts wants a list of all appointment titles so he can arrange his equipment for the day.

    Use the map iteration function to return an array of appointment titles and assign to the titles variable.

    var titles = new Array();
    appointments.map(function(appoinment){
        titles.push(appoinment.get('title'));
    });
  • 相关阅读:
    Android架构详解
    wince下实现GPRS上网,程序控制拨号 .
    wince串口蓝牙
    添加蓝牙通讯功能
    c# 注册表.代码示例.(迭代遍历注册表)[Demo]
    Vim Tips
    北京大学与苏州大学学生社会来源研究(1952年2002年) (zz)
    ES6的循环和可迭代对象
    JavaScript之this
    js数组去重的方法
  • 原文地址:https://www.cnblogs.com/Answer1215/p/3887500.html
Copyright © 2011-2022 走看看