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'));
    });
  • 相关阅读:
    ArrayList源码剖析
    Qt线程外使用Sleep
    malloc、calloc和realloc比较
    C++各大名库
    Qt 编译boost
    VC++ 设置控件显示文本的前景色、背景色以及字体
    std::map的操作:插入、修改、删除和遍历
    time.h文件中包含的几个函数使用时须注意事项
    赋值操作符和拷贝构造函数
    virtual析构函数的作用
  • 原文地址:https://www.cnblogs.com/Answer1215/p/3887500.html
Copyright © 2011-2022 走看看