Model updates
"So Shawn, instead of using the Backbone collection in an isolated fashion, let's move it to a class to manage adding of new cats randomly and provide it with some other utilities, as follows:"
const PictureModel = Backbone.Model.extend({ defaults: { src: 'http://lorempixel.com/601/600/cats/', name: 'Pusheen', details: 'Pusheen is a Cat', faved: false } });
"Our PictureModel
stays the same. We are adding a new faved
attribute here to maintain state about whether the cat was faved by the user or not.
"We will call this new class of ours CatGenerator
, which will provide the component that we use to display the cats, with the data to display, fetch, and add new cats."
"Got it. Want me to give it a try?"
"Sure."
import Backbone from 'backbone'; import Faker from 'faker'; import _ from 'underscore'; … class CatGenerator { constructor() { this...