首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用此名称的控制器不在angularjs ngroute中注册。

使用此名称的控制器不在angularjs ngroute中注册。
EN

Stack Overflow用户
提问于 2017-02-15 09:09:44
回答 1查看 9.4K关注 0票数 4

我正在用mvc-angularjs创建一个web应用程序,我使用的是ngroute。

Angularjs控制器在我的布局中使用html代码:

代码语言:javascript
运行
复制
<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>

这是我的欢迎页:

代码语言:javascript
运行
复制
<div ng-controller="welcome">

</div>
<script>
    angular.module('MyApp',[]) 
    .controller('welcome', function ($scope) { 

    });
</script>

当我运行代码时,我得到以下错误

错误:$controller:ctrlreg没有注册具有此名称的控制器。 名为“迎宾”的控制器未注册。

当我把我的应用程序从('MyApp',[])改为('MyApp')

模块“MyApp”不可用!您要么拼错了模块名,要么忘记加载它。如果注册一个模块,请确保将依赖项指定为第二个参数。

EN

回答 1

Stack Overflow用户

发布于 2017-02-15 09:36:32

angular.module可以创建新模块或检索现有模块。这取决于您使用的语法。

这也是参考上的官方角度文档

例如:

angular.module('MyApp',[])创建一个新模块,因为它包含依赖项注入数组(作为第二个参数)。

angular.module('MyApp')是对现有模块的引用,因为它不包括依赖项注入数组。

在您的示例中,它在第一个代码块上创建一个新模块。因此,在第二个代码块中,您需要检索它。

如果你改变主意,这个问题可能会解决。

angular.module('MyApp',[])angular.module('MyApp')的第二个代码块。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42244981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档