• function

isDirty can/observe/backup


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



  1. deep=false {bool}Optional

    whether to check nested Observes



Whether the Observe has changed since the last time it was [can.Observe.prototype.backup backed up]. If the Observe has never been backed up, isDirty returns undefined.

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, isDirty will include nested Observes in its checks.

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

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

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

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