isDirty
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
- deep
{bool}
:whether to check nested Observes
Returns
{bool}
:
Whether the Observe has changed since the last time it was [can.Map.backup.prototype.backup backed up].
var CanMap = require('can-map');
require('can-map-backup')
var recipe = new CanMap("Recipe", {
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