AngularJS $ scope. $ Watch проблемы с производительностью - PullRequest
0 голосов
/ 29 октября 2018

Мое приложение потребляет много данных в секунду. Мы часто используем метод $ watch на наших экранах. Но особенно в одном из них мы используем его около 20 раз. Я читал, что $scope.$watch влияет на производительность, поэтому мои вопросы следующие:

1. Если это правда. То, что $watch имеет штраф за производительность?

2. Чем я могу его заменить?

Вот небольшой пример кода, который мы используем. Обратите внимание, что этому коду 3 года +.

CTRL.JS Файл:

  $scope.$watch("pageDataItemsPerPage.num", () => {
    ctrl.setMaxPageData($scope.pageDataItemsPerPage.num);
  });

или еще один:

  $scope.$watch(() => this.Keywords, (keywords) => {
    $scope.hintOptions = Object.assign({}, $scope.hintOptions, { keywords });
  });

  $scope.$watch(() => this.tables, (tables) => {
    $scope.hintOptions = Object.assign({}, $scope.hintOptions, { tables });
  });

Я понимаю, что процесс для каждого из них будет разным, но я не очень хорошо знаю AngularJS, и мне нужны некоторые рекомендации. Also as a ref, just in this file, we use $scope.$watch over 30 times.

Если бы вы могли преобразовать эти 3, используя методы ES6 + вместо угловых, было бы здорово.

Относительно производительности:

Похоже, что многие проблемы с производительностью происходят из-за функции $ scope. $ Watch, на мой неопытный взгляд, по крайней мере, проблема не кажется. Главное, по моим данным, RxJS и диспетчеризация событий на лету. Не уверен, что здесь можно сделать.

...