NG-контроллер в пределах включения, которое находится в другой потенциальной области видимости контроллера - PullRequest
0 голосов
/ 18 декабря 2018

Я использую node и angularjs.У меня есть страница в виде фрейма внутри ejs, которая передает содержимое для динамической загрузки в include.

<div ng-app="thisApp">
  <div ng-controller='MainCtrl'>
     {{ firstMessage }}
     <div id='contentFromNode' ng-include='<%= pageContent %>'></div>
  </div>
</div>
<script>
    var thisApp = angular.module('thisApp', []);
    thisApp.controller('MainCtrl', [ '$scope', function($scope) {
         $scope.firstMessage = "Main Controller Working Fine";
    }])
</script>

, а затем переданное содержимое может быть просто HTML-страницей, содержащей что-то вроде этого:

<div ng-controller='NestedCtrl' id='content-type-container'>
    {{ nestedMessage }}
</div>
<script>
     thisApp.controller('NestedCtrl', [function(){
         var nested = this;
         nested.nestedMessage = "Nested Won't Work";
     }])
</script>

Поэтому я попытался использовать $ scope в NestCtrl, вместо того, чтобы ссылаться на это, я попытался переместить тег script выше и ниже (в любом случае, в любом случае, в идеале это нужно разделить).Я попытался наложить псевдонимы на контроллеры, однако моя проблема заключается в регистрации самого контроллера, поскольку я получаю эту большую ошибку Error: [$controller:ctrlreg].Страница загружает контент нормально?Есть идеи, что я здесь делаю не так?

1 Ответ

0 голосов
/ 18 декабря 2018

Кажется, JQlite не поддерживает это.Вы должны включить jquery или лениво загрузить скрипт.См.

AngularJS: Как сделать скрипт угловой загрузки внутри ng-include?

...