Я новичок в угловых js. Я загружаю html-страницы внутри div
используя ng-include
.
Теперь моя проблема: я использовал угловые js для загрузки html-страницы, и я хочу использовать угловые js на загруженной странице.
Я попытался добавить контроллер в дочерний модуль к модулю, который присутствует на странице загрузки, и он также не работает. (https://docs.angularjs.org/error/ng/areq?p0=codeCtrl&p1=not%20a)
Как я могу это сделать?
Родительская страница:
Автор сценария:
<script>
var mainApp = angular.module("mainApp", []);
mainApp.controller("mainCtrl", ['$scope', '$http', function ($s, $h) {
$s.title = "Tab1";
$s.urls = { Tab1: "Tab1.html", Tab2: "Tab2.html", Tab3: "Tab3.html" };
$s.currentTab = $s.urls.Tab1;
$s.load = function (page, activeTab) {
$s.currentTab = page;
$s.title = activeTab;
}
}]);
</script>
HTML:
<body ng-controller="mainCtrl">
<div class="header">
<button ng-class="{'active':title === 'Tab1'}" ng-click="load(urls.Tab1,'Tab1');">Tab1</button>
<button ng-class="{'active':title === 'Tab2'}" ng-click="load(urls.Tab2,'Tab2');">Tab2</button>
<button ng-class="{'active':title === 'Tab3'}" ng-click="load(urls.Tab3,'Tab3');">Tab3</button>
</div>
<div class="content" ng-include="currentTab">
</div>
</body>
Страница для детей
скрипт
<script>
mainApp.controller("codeCtrl", ['$scope', '$http', '$window', function ($s, $h, $w) {
$s.new = function () {
alert('success');
}
}]);
</script>
HTML:
<div ng-controller="codeCtrl">
<div class="subHeader">
<button class="btn1" ng-click="new();">New</button>
</div>
</div>
Если я правильно понимаю, вы загружаете скрипт компонента в файл шаблона
Вы не можете загружать скрипты в угловые шаблоны, они будут удалены.
У углового ядра нет ленивой загрузки встроенных компонентов. Существуют способы использования сторонних модулей или менеджеров загрузки, но на данный момент я предлагаю вам просто включить их всех на главной странице
для более подробного вывода ошибок и трассировки стека используется версия разработки angular.js --- not angular.min.js