Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   $scope в директиве (https://javascript.ru/forum/angular/47918-%24scope-v-direktive.html)

dillinger 12.06.2014 16:34

$scope в директиве
 
Что хочу сделать, запусить jquery плагин галереи, в параметрах передав массив url изображений.

запускаю jquery в директиве в функции link.

Есть модуль с директивой и контроллером, в контроллере через свой сервис вытаскиваю(http запрос) объект и применяю его к новой переменной в $scope.userImages = imageArray но вот в директиве(в функции link) не видно моего массива scope.userImages.

Скоуп установлен поумолчанию.

код: https://gist.github.com/dillinger/2549a9f439b38c68b55f

Помогите понять, почему так происходить и как можно решить этот вопрос.

Спасибо!

a.malitsky 13.06.2014 09:59

Скоуп не по умолчанию, выставлен isolated (по умолчанию - false - родительский).

Почему в link не вытащить сразу, зачем отдельный контроллер? Injectить можно прямо в директиву.

Предполагаю что success не успевает отработать. Проверить элементарно - присвоить userImages что-то до запроса и глянуть в линке.

Shitbox2 13.06.2014 17:54

Посмотрите как здесь сделано https://github.com/tamtakoe/ap.fotorama

dillinger 14.06.2014 12:48

Цитата:

Скоуп не по умолчанию, выставлен isolated (по умолчанию - false - родительский).

Почему в link не вытащить сразу, зачем отдельный контроллер? Injectить можно прямо в директиву.

Предполагаю что success не успевает отработать. Проверить элементарно - присвоить userImages что-то до запроса и глянуть в линке.
Со скоупом экспериментировал, не вернул назад. В link не вызывал думал, что там не место этому.

Да, все верно success не успевает отработать.
Насколько я понял нужно смотреть в сторону promises.


Shitbox2, a.malitsky

Спасибо за помощь и ссылку!


Часовой пояс GMT +3, время: 09:50.