Вход

Просмотр полной версии : $scope в директиве


dillinger
12.06.2014, 16:34
Что хочу сделать, запусить 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

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