isDirty

  • function
can/map/backup
 

Check whether an Observe has changed since the last time it was backed up.

map.isDirty([deep])

isDirty checks whether any properties have changed value or whether any properties have been added or removed since the last time the Observe was backed up. If deep is true, If the Observe has never been backed up, isDirty returns undefined. isDirty will include nested Observes in its checks.

Parameters

  1. deep=false {bool}Optional

    whether to check nested Observes

Returns

{bool}

Whether the Observe has changed since the last time it was backed up.

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.isDirty();     // false
recipe.backup();

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

recipe.attr('ingredients.0.quantity', '7 cups');
recipe.isDirty();     // false
recipe.isDirty(true); // true

recipe.backup();
recipe.isDirty();     // false
recipe.isDirty(true); // false