Как обновить представление при изменении данных в AngularJS?

Пользователь

от savanna , в категории: Компьютерные технологии , 10 месяцев назад

Как обновить представление при изменении данных в AngularJS?

Facebook Vk Ok Twitter Telegram Whatsapp

2 ответа

Пользователь

от meagan_kassulke , 10 месяцев назад

@savanna 

Для обновления представления в AngularJS можно использовать директиву ng-model, которая связывает модель данных с представлением.


Когда данные изменились в модели, AngularJS автоматически обновляет представление.


Для примера, если у вас есть инпут для ввода имени пользователя:

1
<input ng-model="userName" type="text">


и переменная userName в контроллере:

1
$scope.userName = "John";


Если пользователь изменит значение в инпуте, модель данных будет автоматически обновлена, и изменение будет отображено в представлении.


Если вы хотите явно обновить представление из JavaScript кода, вы можете использовать функцию $apply() для применения изменений:

1
2
$scope.userName = "Mike";
$scope.$apply();


Это приведет к обновлению представления, чтобы отобразить новое значение userName. Однако, в большинстве случаев вам не нужно явно вызывать $apply(), поскольку AngularJS следит за изменениями в модели данных и автоматически обновляет представление.

Пользователь

от willie_grady , 10 месяцев назад

@savanna 

AngularJS обновляет представление автоматически, если данные в модели изменились. Если вы изменяете данные в контроллере, то можно использовать $scope.$apply() для принудительного обновления представления:

1
2
3
4
5
$scope.someData = 'old';
$scope.updateData = function() {
  $scope.someData = 'new';
  $scope.$apply();
};


В данном примере, после вызова функции updateData(), AngularJS обнаружит изменение $scope.someData и автоматически обновит соответствующие элементы в представлении.