我经常收到此错误 -
https://docs.angularjs.org/error/ $注射器/ NOMOD?P0 =交互式主
项目结构(有多个人开发,所有新的angularjs)看起来像这样 -
public
|--css, font-awesome
|--js (where angular.min.js and other jquery libraries are)
|--views (where html for each pages are)
|--myHTMLcontents
|--js
index.html
index.html拥有自己的data-ng-app名称,并在app.js文件中使用。 我在views文件夹中有我的HTML文件,相应的js文件也在views文件夹中。 我试着用
创建angular.module('myApp').controller(....
但我想你应该只创建一次angular.module(在app.js中),但我仍然不确定如何在app.js中添加'myApp'。
我试着这样做:
(function () {
angular.module('data-ng-app Name', [
'ui.router', // Routing
'oc.lazyLoad', // ocLazyLoad
'ui.bootstrap', // Ui Bootstrap
'myApp'
])
})();
nodejs服务器不会抛出错误,但页面上没有显示任何内容(在我添加'myApp'之后)。 你是怎么解决的?
答案 0 :(得分:0)
您需要创建模块' myApp'一次,然后在app.js中运行它 下面是一个例子。
angular.module('myApp', []).run()
然后在你的控制器中
angular.module('myApp.controllers', []).controller('RegisterCtrl', function () {});
答案 1 :(得分:0)
首先确保在将索引注入另一个模块之前声明索引中的myapp
模块文件:
<script src="js/myapp.js"></script>
<script src="js/my-module-injecting-myapp.js"></script>
然后有两种方式: 第一个是按照你的方式直接调用模块:
angular.module('myApp').controller(....
第二个以及我过去做的是将其声明为变量:
var myAppModule = angular.module('myApp', []);
然后声明一个控制器,服务,等等,只需调用变量:
myAppModule.controller("myAppController", function(){...
最后一件事,我不知道是否是一个例子,但不要用空格声明你的模块名称:
angular.module('data-ng-app Name', [....
应该是:
angular.module('myModuleNamewithoutSpace', [....