我正在用mvc-angularjs创建一个web应用程序,我使用的是ngroute。
Angularjs控制器在我的布局中使用html代码:
<div class="container body-content" ng-app="MyApp">
<br />
<br />
<br />
<div style="float:right;">
<a href="#" class="btn btn-danger">Sign Out</a>
</div>
@RenderBody()
<hr />
</div>
<script>
(function () {
var app = angular.module('MyApp', ['ngRoute', "ngStorage"]);
app.controller('myctrllayout', function ($scope) {
});
})();
</script>这是我的欢迎页:
<div ng-controller="welcome">
</div>
<script>
angular.module('MyApp',[])
.controller('welcome', function ($scope) {
});
</script>当我运行代码时,我得到以下错误
错误:$controller:ctrlreg没有注册具有此名称的控制器。 名为“迎宾”的控制器未注册。
当我把我的应用程序从('MyApp',[])改为('MyApp')时
模块“MyApp”不可用!您要么拼错了模块名,要么忘记加载它。如果注册一个模块,请确保将依赖项指定为第二个参数。
发布于 2017-02-15 09:36:32
angular.module可以创建新模块或检索现有模块。这取决于您使用的语法。
这也是参考上的官方角度文档。
例如:
angular.module('MyApp',[])创建一个新模块,因为它包含依赖项注入数组(作为第二个参数)。
angular.module('MyApp')是对现有模块的引用,因为它不包括依赖项注入数组。
在您的示例中,它在第一个代码块上创建一个新模块。因此,在第二个代码块中,您需要检索它。
如果你改变主意,这个问题可能会解决。
angular.module('MyApp',[])到angular.module('MyApp')的第二个代码块。
https://stackoverflow.com/questions/42244981
复制相似问题