angularjs - после изменения представлений с использованием маршрутизации элементы jquery не отображаются

Моя проблема в том, что после изменения представлений с использованием маршрутизации компоненты jquery на моей странице не отображаются. У меня есть настроенные компоненты пользовательского интерфейса, такие как раскрывающиеся списки, которые не обрабатываются. Я видел этот ответ: Приложение Angular.js с маршрутизацией. Не удается заставить плагин jquery ui layout работать во втором представлении

Но я не могу понять, как заставить это работать в моем случае. Кажется, что когда angular отображает шаблон, обрабатывается любой код, кроме angularjs.

Большое спасибо заранее.

Код: http://plnkr.co/1mwMcsqMxWGTheoQmJ22


person Guillermo    schedule 19.09.2013    source источник
comment
Эй, вам нужно опубликовать некоторый код или jsfiddle, прежде чем кто-либо сможет предложить какое-либо понимание вашей проблемы.   -  person Mike Robinson    schedule 19.09.2013
comment
Добавлен плункер с примером   -  person Guillermo    schedule 20.09.2013


Ответы (1)


В приведенном вами примере вы фактически не загружаете файл с кодом jQuery (jqcode.js).

Однако реальная проблема, как видно из этой версии вашего примера, заключается в том, что Событие готовности документа выполняется до того, как ваш шаблон будет загружен и отрендерен. Это означает, что элемент, на который нацелен ваш код jQuery, не существует, когда вы пытаетесь им манипулировать.

Вы действительно должны изучить директивы Angular, где вам рекомендуется размещать любую логику манипулирования DOM внутри Угловой проект:

Если вам нужно выполнять свои собственные ручные манипуляции с DOM, инкапсулируйте логику представления в директивы.

Из документации Angular для контроллеров.

person net.uk.sweet    schedule 19.09.2013
comment
Эй, большое спасибо за ваш ответ, я думаю, что решил свою проблему, и теперь она работает. Код прилагается. Я использую директиву с ограничением M, чтобы инициализировать множество вещей, выполнив директиву только один раз. (В примере это просто текст, в моем приложении будет десять выпадающих списков..) Plunker: plnkr.co/5qZbyon9JbUy9pUmaAp6 - person Guillermo; 20.09.2013