Наличие углового контроллера JS во вкладке HTML

0

Я новичок в угловых 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>
  • 1
    Ваш атрибут ng-app для начала ссылается на mainCtrl, а не на mainApp.
  • 0
    означает? что-то не так? можешь объяснить это дальше?
Показать ещё 4 комментария
Теги:

1 ответ

0

Если я правильно понимаю, вы загружаете скрипт компонента в файл шаблона

Вы не можете загружать скрипты в угловые шаблоны, они будут удалены.

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

для более подробного вывода ошибок и трассировки стека используется версия разработки angular.js --- not angular.min.js

  • 0
    поэтому я не могу включить HTML, у которого есть сценарии. Есть ли другой способ?
  • 0
    да ... сторонние ленивые грузчики. Ничего встроенного, как я уже говорил
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню