• page

can.Map.backup is a plugin that provides a dirty bit for properties on an Map, and lets you restore the original values of an Map's properties after they are changed.

Here is an example showing how to use backup to save values, restore to restore them, and isDirty

to check if the Map has changed:

var recipe = new can.Map({
  title: 'Pancake Mix',
  yields: '3 batches',
  ingredients: [{
    ingredient: 'flour',
    quantity: '6 cups'
    ingredient: 'baking soda',
    quantity: '1 1/2 teaspoons'
    ingredient: 'baking powder',
    quantity: '3 teaspoons'
    ingredient: 'salt',
    quantity: '1 tablespoon'
    ingredient: 'sugar',
    quantity: '2 tablespoons'

recipe.attr('title', 'Flapjack Mix');
recipe.title;     // 'Flapjack Mix'
recipe.isDirty(); // true

recipe.title;     // 'Pancake Mix'