Как я могу получить информацию о том, кто изменит переменную i, установленную в часах (angular)

Пример

$scope.$watch('data', function(){});

Функция запускается, когда data изменится, но если я хочу знать, какая функция вызывает изменение.

+3
источник поделиться
1 ответ

Вы не можете напрямую опросить переменную "данные", чтобы проверить, какой метод ее изменил, и я не знаю, что $watch имеет свойство стиля "origin".

Поэтому вам нужно будет отследить это самостоятельно, поэтому я бы рекомендовал иметь промежуточный метод, который изменяет фактические данные, а все остальные называют это.

Указанный способ может затем сохранить источник, а затем часы будут запускаться. Но если вы это делаете, вам все равно нужны часы?

В качестве альтернативы вы можете просто установить флаг, обозначающий начало.

Вы также можете использовать оценку в своем заявлении о часах, как описано в интересной статье от Cameron Boehmer, таким образом вы могли бы только инициировать ваши часы, если выполняются некоторые другие условия (например, флаги).

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос