Мой основной HTML, как:Обновить директиву angularjs после загрузки страницы ajax?
На домашней странице, я нажимаю, чтобы перейти на другую страницу, которая просто меняет содержание #page_content с помощью JQuery, короче говоря что-то вроде:
gl.prototype.pageNav = function(page) {
$.ajax({
url: page,
success: function (data) {
$('#page_content').html(data);
}
});
}
На одной подстранице, у меня есть угловая директива используется:
<div id="awesomeSubPage" ng-my-sub-directive></div>
Однако, кажется, что директива не дозвонилась после Аякса навигации по страницам, его действительно дозвонились, если я иду прямо на страницу, как: site.com/myApp/awesomeSubPage
Код для директивы:
myApp.controller('ContentCtrl', function($scope) {
// commented out
}.directive('ngMySubDirective', function() {
return {
link: function(scope, elem, attrs) {
elem.on('load', function() {
console.log('Run ngMySubDirective postMessage');
});
}
}
});
Любые идеи?
Это приложение ZF2, что мы закончили с JQuery и начал добавлять угловой, но потребуется некоторое время, прежде чем мы сможем полностью удалить JQuery вещи (много зависимостей и т. д.) – dan2k3k4
Обновленный ответ. Если возможно, замените только вызов ajax. Если это невозможно, вызовите $ scope. $ Примените себя после вызова ajax. – codemonkey
Когда я пытаюсь заменить '$ .ajax' на' $ http' - я получаю '$ http not defined' - как я могу добавить угловое выражение в свой пользовательский JS? Поскольку у нас есть один файл, который был в основном jQuery, а теперь еще один файл, который обрабатывает angularjs, мне нужно сначала назвать имя приложения? как 'myApp. $ http'? – dan2k3k4