Я создал директиву для определения угла, когда ng-repeat завершен. Я нашел наиболее распространенное решение - это что-то вроде here - Calling a function when ng-repeat has finishedУгловая директива для финиша ng-repeat, когда элементы сплайсинга()
Но почему директива запускается только при добавлении элемента, но не при удалении?
Here - ng-repeat list in Angular is not updated when a model element is spliced from the model array Я видел некоторые предложения о принятии $ сферу. $ Применяется, но по-прежнему не работает, потому что он говорит: «$ применять уже в процессе»
Я создал here - a Plunker, где вы можете воспроизвести его.
Большое спасибо !!!
Благодаря @Harijs, я использую директива вместо $ watch, потому что $ watch запускается перед рендерингом. Мне нужно изменить размер элемента, когда рендеринг элементов ng-repeat закончен. –
Ну, если вы хотите избежать начального триггера, вы можете настроить свою функцию $ watch по-другому, например. как это показано на самом деле (http://docs.angularjs.org/api/ng/type/$rootScope.Scope) '$ scope. $ watch ('myvar', function (newValue, oldValue) { if (newValue! == oldValue) { // сделайте свою вещь }); ' –
Я не имею в виду начальный триггер. Я имею в виду, что когда я делаю array.push(), сначала он запускает часы, а затем визуализируется новый элемент (что делает весь смысл). Но мне нужно вызвать функцию resize(), когда были отображены все элементы ng-repeat. –