我正在使用node和angularjs。我在ejs中有一个类似于页面的框架,该框架传递了内容以动态加载到包含中。
<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>
因此,我尝试在NestCtrl中使用$ scope而不是引用它,而是尝试将script标记上下移动(理想情况下还是最终将其分隔开)。我曾尝试给控制器起别名,但是我遇到的问题是控制器本身的注册,因为我收到了一个很大的Error: [$controller:ctrlreg]
错误。页面正在加载内容吗?有什么想法我在这里做错了吗?
答案 0 :(得分:0)
似乎JQlite不支持此功能。您必须包括jquery或延迟加载脚本。请参阅
AngularJS: How to make angular load script inside ng-include?