Size: a a a

Angular.js (1.x) — русскоговорящее сообщество

2020 April 14

AK

Anton K. in Angular.js (1.x) — русскоговорящее сообщество
L K
можешь ивенты юзать
в целом на систему
user:login, user:logout
ага. так и сделал через $rootScope
источник

AK

Anton K. in Angular.js (1.x) — русскоговорящее сообщество
Remite
сервис авторизации
при успешной авторизации
дергает какой не будь сервис лайф-апдейта аля "начинай"
когда логает - говорит тому же сервису заканчивай

начинай - запускаем очередность таймаутов
заканчивай - заканчивай

Я бы предпочел такое решение вместо прокидывания ивентов
почему лучше сервис?
источник

AK

Anton K. in Angular.js (1.x) — русскоговорящее сообщество
или просто привычнее?
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
я сторонник утверждения явное лучше не явного
вызов метода какого не будь сервиса - явное
событие которе улетает в шину и из шины прилетает и где-то обрабатывается - не явное
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
подскажите по $watch
Листенер вызывается даже при одинаковом значении newValue и oldValue

Example:
$scope.$watch(
 () => menuService.frequencies.value,
 (newValue, oldValue) => {
   console.log(newValue === oldValue) // тут TRUE
   ТУТ ИДЕТ вызов
 }
)
источник

C☭

Chadwick ☭ in Angular.js (1.x) — русскоговорящее сообщество
Привет! никак не могу вспомнить...

в компоненте input с односвязанным датабайндингом.. как рут компоненте узнать об изменениях в input объекте? без использования колбека
источник

C☭

Chadwick ☭ in Angular.js (1.x) — русскоговорящее сообщество
Dima Nazdratenko
подскажите по $watch
Листенер вызывается даже при одинаковом значении newValue и oldValue

Example:
$scope.$watch(
 () => menuService.frequencies.value,
 (newValue, oldValue) => {
   console.log(newValue === oldValue) // тут TRUE
   ТУТ ИДЕТ вызов
 }
)
одно это уже плохо, если оригинальные данные

() => menuService.frequencies.value
источник

C☭

Chadwick ☭ in Angular.js (1.x) — русскоговорящее сообщество
Dima Nazdratenko
подскажите по $watch
Листенер вызывается даже при одинаковом значении newValue и oldValue

Example:
$scope.$watch(
 () => menuService.frequencies.value,
 (newValue, oldValue) => {
   console.log(newValue === oldValue) // тут TRUE
   ТУТ ИДЕТ вызов
 }
)
watch'er вызывается при каждом $digest
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
ну например цыкл вызывается часто, но сравнение же должно быть или что?
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
как надо?
источник

C☭

Chadwick ☭ in Angular.js (1.x) — русскоговорящее сообщество
Dima Nazdratenko
ну например цыкл вызывается часто, но сравнение же должно быть или что?
а что требуется? и в чем проблема у тебя?
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
ну проблема в том что вызывается когда не надо) делаю руками сравнение и данные равны и поидее вызова быть не должно
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
в доке ж написано что вызов листенера идет если в сравнении старого и нового значения данные отличаются
источник

C☭

Chadwick ☭ in Angular.js (1.x) — русскоговорящее сообщество
Dima Nazdratenko
ну проблема в том что вызывается когда не надо) делаю руками сравнение и данные равны и поидее вызова быть не должно
делай логику если значения не равны и все..
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
а стоп, не так) когда изменяется первый параметр, а он у меня () => menuService.frequencies.value
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
ты говоришь это не верно, а как верно ?
источник

C☭

Chadwick ☭ in Angular.js (1.x) — русскоговорящее сообщество
```
$scope.$watch(
 () => menuService.frequencies.value,
 (newValue, oldValue) => {
   console.log(newValue === oldValue) // тут TRUE
   if (newValue !== oldValue) {
     ТУТ ИДЕТ вызов
   }
}
)

```
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
как вариант, а почему все таки реагирует на то что () => menuService.frequencies.value, изменилось, а оно не менялось…
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
может из-за того что menuService.frequencies.value
value это геттер у меня?
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
проверил, геттер не влияет, на обычном свойстве типа int такое же. Так почему же оно всегда вызывается как буд-то поменялось значение?
источник