Есть уже готовый проект, в который я пытаюсь внедрить Angular.js ввиду того, что сайт полностью работает на Ajax и шаблон имеет сложную структуру.
Для загрузки контента использую свою библиотеку для jQuery, которая вешает событие on('click') на все ссылки и так далее...
Но вот тут то и проблема - после применения нового контента Angular не хочет его никак связывать. На версии 1.0.6 помогает angular.bootstrap($('html'), 'ely'), но если брать выше - то повторная инициализация не проходил и вылазит ошибка. Если этого не делать, то новый контент никак не будет связан с Angular (ни директивы, ни контроллеры).
Мне кажется что вам стоит изучить angular и пересмотреть свой подход по интеграции оного. Из того что вы описали вам нужен только data-binding, а использовать angular только для этого глупо....
p.s. зачем вешать обработчик на все ссылки, если можно это сделать делигировав обработчик на весь document а еще лучше, раз уж всеравно есть angular, реализовать директиву.
@Fesor, проблема в том, что проект уже есть и уже немало написано, да и поисковики не оценят переход на Ajax загрузку контента через Angular (нет, не то что бы не оценят, просто понадобится время на переиндексацию).
Обработчик вещается через
$('body').on('click', 'a', function () {
...
return false;
});
И таким образом все ссылки будут обработаны.
На счёт разработки как директивы - вариант, но в таком случае нужно будет использовать angular route и его http. Я вроде и не против, но придётся крайне много переписывать, к чему я пока просто не готов в своём проекте.
Angular очень удобен в решении многих вопросов с отрисовкой, связыванием и т.д. и т.п. данных, ибо у меня и так царит правление json, но я не могу всё перевести на Angular - это как переписать проект с 0.
Если не сильно критично, то можете попробовать Angular Light, он удобнее для встраивания в готовое приложение. См. 5-ый способ привязывания, он может вам подойти.
@lega, я смотрел в сторону Angular light и даже начал на нём писать, но потом перешёл на полную версию ангуляра, т.к. в лайте слишком много функционала отсутствует.