【问题标题】:ng-include doesn't work when ng-app gets a name当 ng-app 获得名称时,ng-include 不起作用
【发布时间】:2015-12-24 12:08:16
【问题描述】:

我正在使用 ng-include 来包含导航栏。结合 ng-app="" 它可以正常工作。但是当我使用名称(例如 ng-app="myApp")时,它就不再起作用了。见例子。

<!DOCTYPE html>
<html>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    <body >
        <div ng-app="">
        <div ng-include="'pages/navbar.html'"></div>
            <script src="app.js"</script>
        </div>

    </body>
</html>

app.js

var app = angular.module('myApp', []);
app.controller('mainController', function($scope) {
   });

上面的工作正常,但是当我插入名称“myApp”时,它会停止包括导航栏。

<!DOCTYPE html>
<html>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    <body >
        <div ng-app="myApp">
            <div ng-include="'pages/navbar.html'"></div>
            <script src="app.js"</script>
        </div>

    </body>
</html>

为什么?

【问题讨论】:

  • 您需要通过关闭脚本标签&lt;script src="app.js"&gt;&lt;/script&gt;来更改引用
  • 您使用的是哪个版本的 Angular? ng-app="" 在大多数最新版本中无效。

标签: javascript angularjs twitter-bootstrap


【解决方案1】:

这里有错别字

<script src="app.js"</script>

应该是

<script src="app.js"></script>

只要它在 angular.js 之后加载,那么您的应用程序就应该能够找到 myApp 模块的声明(您已使用 ng-app="myApp" 要求它找到该声明

在浏览器控制台中检查任何错误 - 如果未加载脚本,您将看到类似 cannot find module 的错误

【讨论】:

    【解决方案2】:

    我相信您错过了以适当的样式包含您的app.js 文件。 您在控制台中遇到任何错误吗?

    编辑

    <!DOCTYPE html>
    <html>
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
        <body >
            <div ng-app="myApp">
                <div ng-include="'pages/navbar.html'"></div>
    
            </div>
    <script src="app.js"></script>
        </body>
    </html>
    

    【讨论】:

    • 你包含脚本两次
    • 有趣的是,它可以在本地主机上使用括号中的实时示例。但是从资源管理器启动它根本没有结果。
    猜你喜欢
    • 2018-03-27
    • 2015-12-22
    • 2016-01-20
    • 2015-02-20
    • 1970-01-01
    • 2017-02-07
    • 2016-11-24
    • 1970-01-01
    相关资源
    最近更新 更多