Для просмотра переменной области объекта объекта $scope.$watch
с objectEquality
установлено значение true ИЛИ $scope.$watchCollection
лучше?
Для переменной объекта $scope
(например, 15 атрибутов, некоторые вложенные 2 уровня в глубину) обновлены с помощью элементов ввода и ng-model
в представлении, насколько плохим является $scope.$watch
с objectEquality
, установленным на true
? Это большая вещь, которую нужно избегать?
Является ли $watchCollection
лучшим решением?
Я ищу легкие победы для повышения производительности моего приложения AngularJS (я все еще придерживаюсь v1.2.2).
// ctrl scope var
$scope.filters = {
name: '',
info: {test: '', foo: '', bar: ''},
yep: ''
// etc ...
}
// ctrl watch ?
$scope.$watch('filters', function(newVal, oldVal) {
if(newVal !== oldVal) {
// call with updated filters
}
}, true);
// or ctrl watch collection ?
$scope.$watchCollection('filters', function(newVal, oldVal) {
if(newVal !== oldVal) {
// call with updated filters
}
});
// view input with ng-model
<input type="text" ng-model="filters.name" />
<input type="text" ng-model="filters.info.test" />
<input type="text" ng-model="filters.yep" />
// etc ...