Size: a a a

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

2016 July 12

MK

Maxim Kozachenko in Angular.js (1.x) — русскоговорящее сообщество
Как это сделать?
источник

MK

Maxim Kozachenko in Angular.js (1.x) — русскоговорящее сообщество
Потому что
источник

l

la gente está muy loca in Angular.js (1.x) — русскоговорящее сообщество
$timeout(()=>{/* твой код */})
источник

MK

Maxim Kozachenko in Angular.js (1.x) — русскоговорящее сообщество
 $scope.$watchCollection(function () {
       return pointsService.points;
   },function (newVal) {
       $scope.points = newVal;
       console.log("watch my:",$scope.points);
       window.KAImagesWithPoints.forEach(function (image) {
           image.refresh();
       })
   });


Запаздывает
источник

MK

Maxim Kozachenko in Angular.js (1.x) — русскоговорящее сообщество
la gente está muy loca
$timeout(()=>{/* твой код */})
таймаут, серьезно? А более красивого решения нет?
источник

l

la gente está muy loca in Angular.js (1.x) — русскоговорящее сообщество
Ток хотел предупредить, что это не самый лучший путь)
источник

MK

Maxim Kozachenko in Angular.js (1.x) — русскоговорящее сообщество
Это же ангуляр, тут должен быть механизм для таких дел.
источник

MK

Maxim Kozachenko in Angular.js (1.x) — русскоговорящее сообщество
Таймаут я всегда могу влепить
источник

AF

Alexander Fedotov in Angular.js (1.x) — русскоговорящее сообщество
$apply() в конце, в сущности таймаут делает тоже самое, но исполнение вылетает до своей очереди (ну типа асинхронным становится)
источник

AF

Alexander Fedotov in Angular.js (1.x) — русскоговорящее сообщество
Maxim Kozachenko
Уже сделал через вотчКолекшн
Главное учитывай, что у него shallow сравнение, неглубокое, это основное отличие от $watch
источник

l

la gente está muy loca in Angular.js (1.x) — русскоговорящее сообщество
Alexander Fedotov
$apply() в конце, в сущности таймаут делает тоже самое, но исполнение вылетает до своей очереди (ну типа асинхронным становится)
$timeout сам вызовет $apply
источник

AF

Alexander Fedotov in Angular.js (1.x) — русскоговорящее сообщество
Alexander Fedotov
$apply() в конце, в сущности таймаут делает тоже самое, но исполнение вылетает до своей очереди (ну типа асинхронным становится)
Ещё, если это какой-то замкнутый компонент который 100% не влияет на родителей, то лучше даже $digest() вызвать

Во всех гайдах включая оф. доки это не рекомендуется делать, но если ты знаешь, что делаешь, то такой финт ушами реальне ускоряет работу, проверено на толстых SPA
источник

AF

Alexander Fedotov in Angular.js (1.x) — русскоговорящее сообщество
la gente está muy loca
$timeout сам вызовет $apply
Да, только всё это улетит в queue и выполнится позже чем могло бы
источник

l

la gente está muy loca in Angular.js (1.x) — русскоговорящее сообщество
Maxim Kozachenko
Это же ангуляр, тут должен быть механизм для таких дел.
Ангуляр предполагает, что ты обойдешься без этого. Есть механизм $$postDigest, но это ещё хуже
источник

MK

Maxim Kozachenko in Angular.js (1.x) — русскоговорящее сообщество
Короче, аплай не помог
источник

MK

Maxim Kozachenko in Angular.js (1.x) — русскоговорящее сообщество
Сделал таймаутом
источник

l

la gente está muy loca in Angular.js (1.x) — русскоговорящее сообщество
Alexander Fedotov
Да, только всё это улетит в queue и выполнится позже чем могло бы
Таймаут без параметров выполняется ровно после рендера)
источник

MK

Maxim Kozachenko in Angular.js (1.x) — русскоговорящее сообщество
la gente está muy loca
Таймаут без параметров выполняется ровно после рендера)
Вот этого нюанса я не знал)
источник

l

la gente está muy loca in Angular.js (1.x) — русскоговорящее сообщество
источник

AF

Alexander Fedotov in Angular.js (1.x) — русскоговорящее сообщество
la gente está muy loca
Таймаут без параметров выполняется ровно после рендера)
источник