• function

restore can/observe/backup

 

Restore saved values of an Observe's properties.

observe.restore( [deep] )

Parameters

  1. deep=false {bool}Optional

    whether to restore properties in nested Observes

Returns

{can.Observe}

The Observe, for chaining.

restore sets the properties of an Observe back to what they were the last time [can.Observe.prototype.backup backup] was called. If deep is true, restore will also restore the properties of nested Observes.

restore will not remove properties that were added since the last backup, but it will re-add properties that have been removed.

var recipe = new can.Observe({
  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.backup();

recipe.attr('title', 'Flapjack Mix');
recipe.restore();
recipe.attr('title'); // 'Pancake Mix'

recipe.attr('ingredients.0.quantity', '7 cups');
recipe.restore();
recipe.attr('ingredients.0.quantity'); // '7 cups'
recipe.restore(true);
recipe.attr('ingredients.0.quantity'); // '6 cups'

Events

When restore sets values or re-adds properties, the same events will be fired (including change, add, and set) as if the values of the properties had been set using [can.Observe.attr attr].