javascript - index.ejs 中的 Angular Controller 错误

标签 javascript angularjs node.js angular-material mean-stack

我有一个index.ejs 页面,其中有一个slideMenu,可在index.ejs 页面中插入其他HTML View 。

每个 html View 都有自己的 Controller 。每个 Controller 都位于其自己的 .js 文件中。我将所有这些脚本包含在 index.ejs 文件中,但这会导致以下问题,并且 HTML View 无法正确加载。

<!DOCTYPE html>
<html ng-app="myapp" xmlns:width="http://www.w3.org/1999/xhtml">
<head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css'/>
</head>

<body layout="column">
<!-- ANGULAR MATERIAL DEPENDENCIES -->
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.js"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">

<!-- ANGULAR MATERIAL DEPENDENCIES END-->


<md-content>
            <div ng-include="'/html/newCode/addCircleTimeSong.html'"></div>

</md-content>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.js"></script>

<script src="javascripts/newCode/Controller_CircleTimeSongPage.js"></script>
<script src="javascripts/newCode/Controller_ObservationPage.js"></script>
<script src="javascripts/newCode/Controller_CircleTimeActivityPage.js"></script>


</body>
</html>

我收到以下错误:

Error: [ng:areq] http://errors.angularjs.org/1.4.8/ng/areq?p0=CircleTimeSongPageController&p1=not%20aNaNunction%2C%20got%20undefined

最佳答案

如果您写了此声明

var mainApp = angular.module("myapp", ['ngMaterial']);

在所有 Controller 文件中。这就是导致此错误的原因。此语句创建并初始化 myapp 模块。因此,如果您在所有 Controller 文件中使用此语句,则每次都会重新初始化 myApp,从而出现 Angular 错误。

在其他 Controller 文件中用此语句替换它

var mainApp = angular.module("myapp");

上面的语句意味着获取/引用已经创建/初始化的myapp模块。

关于javascript - index.ejs 中的 Angular Controller 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41360052/

相关文章:

java - 使用 Node.js 的 Restful Web 应用程序?

node.js - 使本地文件夹与远程 FTP 文件夹保持同步

javascript - 函数式 JS 设置对象的所有属性

javascript - 悬停时的语义 ui 下拉菜单

javascript - slideUp() 所有元素但不包括被选元素

angularjs - Symfony 忽略额外字段的验证

javascript - 检查 Django 模板中的变量

javascript - 在 AngularJS 中立即启动 $interval

javascript - 从ajax请求获取数据到Angular

json - 无法让 xlsx 到 JSON 转换器在 Node/Express 中正常工作