Имеет. Нужен диалог, который можно вызвать в любом месте приложения без рефакторинга ( создания отдельных функций для OK и Cancel). Приложение большое и делать каждый раз рефакторинг довольно затратное дело.
Спасибо за ссылку, вот только у моей директивы изолированный $scope; Получается та же глобальная переменная для хранения deregistration function, т.к хранить ее больше негде.
Александр: боюсь ваше решение совсем не подходит. мне не нужно разделять старые сообщения и новые. старые сообщения удаляются для того, чтобы освободить оперативную память у пользователя.
приложение не должно притормаживать ни на старых, ни на средних компах. про enterprise я вообще молчу, в некоторых офисах до сих пор на Windows XP сидят.
делайте такую структуру, которая лучше всего подходит к вашему приложению. что-то посоветовать невозможно, потому что нет толком никакой информации о приложении.
globuzer: глупости вы говорите. фриланс славится тем, что там цены низкие. не все заказчики готовы оплачивать услуги профи, поэтому и для начинающих фрилансеров работы хватает. А работа это опыт, который поможет потом стать профи.
Проработал на фрилансе ~ 3 года, начинал с простейшей верстки, а закончил javascript. Сейчас пишу на Angular,
Не совсем понимаю, при чем тут $digest цикл. Проблема то уже непосредственно в DOM. Когда переменная в $scope обновляется, то и элемент в DOM тоже обновляется. Если DOM элемент не успел до конца отрисоваться, а скрипт уже запустился, то высота получается меньше чем на самом деле.
На сколько это хорошо с точки зрения производительности? На сколько знаю, $watch вызывается при каждом обновлении $scope. А это значит, что watch будет вызываться кучу раз, что мне не надо. На странице может быть несколько панелей с прокруткой. Приложение достаточно большое, есть вложенность $scope, что в итоге даст почти постоянный вызов $watch.