Есть модель, которая загружается с сервера. Есть страница управления этой моделью. Хотелось бы включать кнопку «Save» только при «грязной» модели. Использовать возможности форм — не очень удобно так как есть инпуты, не связанные напрямую с моделью.
Так вот, если я использую $watchCollection таким образом
$scope.$watchCollection('ruleset.rules', function() {
$scope.rulesetChanged = true;
});
$scope.rulesetChanged = false;
возникает проблема первого сравнения: в первый раз в любом случае сравнивается пустой объект с заполненным.
Делать что-то вроде
var cases = 0;
$scope.$watchCollection('ruleset.rules', function() {
if (cases > 0) {
$scope.rulesetChanged = true;
}
cases ++;
});
$scope.rulesetChanged = false;
как-то очень не хочется. Может есть какой-то ангуляровский способ решения этой проблемы? Например как-то засетить старый объект?