如果没有 <Body> 标签,ng-include 将无法工作

ng-include Won't Work Without <Body> Tags

我开始掌握网上的许多 angularjs 教程,我似乎偶然发现了一些我的 googlefu 似乎无法破解的东西。

下面是我的html。在我的 app.js 中,我简单地实例化 angular 模块并将 'ui-router' 声明为依赖项,没有任何闪光。

<body id="home">

<!-- INIT: app -->
<div class="container" ng-app="app">

    <!-- GET: Header partial -->
    <div ng-include src="'templates/header.html'"></div>

    <!-- INIT: Angular-ui-router -->
    <div ui-view>

    </div>

    <!-- GET: Footer partial -->
    <div ng-include src="'templates/footer.html'"></div>
</div>

<!-- GET: Various Vendor JS files -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="vendorjs/bootstrap.min.js"></script>
<script src="vendorjs/angular.js"></script>
<script src="vendorjs/angular-ui-router.js"></script>

<!-- GET: My own app JS files -->
<script src="js/app.js"></script>

</body>

现在由于某些原因,使用 ng-include 包含的文件需要在其内容周围加上 <body></body> 标签,否则将不显示任何内容。

我在任何地方都没有看到这个,所以这里有什么问题吗,因为我完全迷路了。目前的解决方法很好,但感觉很时髦。

注意:我正在使用来自 npm live-server 的 live-server 包在保存时在浏览器中刷新我的本地文件。我不认为这是问题所在,因为即使我只是简单地打开 index.html 文件它仍然不起作用(但那是因为 chrome 的安全规则)。

干杯!

是的,在 ng-include 和 Live-Server 没有加载部分时遇到了同样的问题。 ng-include 在我的本地主机中显示部分内容,但在实时服务器中不显示。

此问题已在最新版本的实时服务器中修复。所以我将我的 live-server 更新到版本 0.7.1 并且 ng-include 现在工作得很好。

GitHub - tapio 15 天前评论 "I've published version 0.7.1 to npm which seems to fix this issue. Feel free to test and report any further problems. :)" GitHub live-server issue