首页 > 解决方案 > 带有Angularjs的Nodejs:未执行角度控制器脚本

问题描述

我目前正在开发一个使用 Express 和 ejs 作为视图引擎的 Node 项目。

现在,出于某些目的,我想在项目中添加一些 Angularjs,但遇到了一些问题。

尽管正确加载了我在 Angularjs 控制器上编写的脚本,但它们都没有被执行。

例如,我在文件 app.js 中像这样启动 Angular 模块

angular.module('myApp', [])
.controller('MainController', MainController);

然后我将它加载到渲染的 ejs 文件 index.ejs

<body ng-app="myApp">
    <div>{{ variable }}</div>
<script src="/public/js/angular.min.js"></script>
<script src="/public/modules/part.js"></script>
<script scr="/public/modules/app.js"></script>
</body>

其中 /public 是用于提供静态文件的静态目录,part.js 是包含 MainController 的文件,定义如下

var MainController = function($scope) {
    $scope.variable = 'text';
    console.log('other text');
}

页面完全加载后,控制台中没有任何内容,并且 {{ variable }} 不会被解释。

那么我做错了什么?

标签: angularjsnode.jsexpressejs

解决方案


您还需要添加ng-controller="MainController"

<body ng-app="myApp" ng-controller="MainController">
    <div>{{ variable }}</div>
</body>

推荐阅读