У меня есть страница AngularJS, которая отображает всплывающее окно. HTML для всплывающего окна динамически извлекается с сервера с помощью вызова AJAX. Этот динамический HTML содержит новый контроллер и необходимый код AngularJS для контроллера. Этот код работает только в том случае, если код дочерней страницы JavaScript присутствует на родительской странице. Я хотел бы сохранить весь код дочерней страницы на самой дочерней странице.AngularJS - Динамический HTML, содержащий код контроллера
Может кто-нибудь указать, что я делаю неправильно?
Главная
<div id="mainPage" ng-controller="mainController">
Contains a table that displays a bunch of rows.
</div>
<div id="popup">
Dynamic HTML retrieved from AJAX goes here.
</div>
<script type="text/javascript">
angularMainApp.controller('mainController', ['$scope', '$http', '$compile', function ($scope, $http, $compile)
{
$scope.activateView = function(ele)
{
$compile(ele.contents())($scope);
$scope.$apply();
};
$scope.buttonClick = function()
{
$("#popup").html(dynamicHTMLThroughAJAX);
$scope.activateView($("#divCreateTemplatePopup"));
return;
}
return;
}]);
</script>
Dynamic HTML Content
<div ng-controller='childController'>
Some HTML here.
</div>
<script type="text/javascript">
angularMainApp.controller('childController', ['$scope', '$http', function ($scope, $http)
{
}]);
</script>