AngularJS错误:[ng:areq]参数'MyController'不是函数,未定义

时间:2015-06-17 13:47:17

标签: html asp.net-mvc angularjs

我遇到了错误的角度JS错误:[ng:areq]参数'MyController'不是函数,在尝试使用bundle时未定义。但是,当我明确地使用脚本标签在我的html中包含应用程序时,它可以工作。 Bundle Config.cs

 bundles.Add(new ScriptBundle("~/bundles/myweb")
    .IncludeDirectory("~/Scripts/myweb", "*.js")
    .IncludeDirectory("~/Scripts/myweb/Controllers", "*.js")   
    .Include("~/Scripts/myweb/Controllers/myController.js")
    .Include("~/Scripts/myweb/myweb.js"));

使用此HTML不起作用:

<script src="~/Scripts/angular.js"></script>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/myweb")

这个HTML确实有效,但我不确定为什么我必须明确包含myApp.js,因为它已经包含在捆绑包中(当我从F12查看捆绑包时 - Google Chrome上的开发人员工具它已经包含了预期的代码):

<script src="~/Scripts/angular.js"></script>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/myweb")
<script src="~/Scripts/myweb/myweb.js"></script>

注意显示的html位于_Layout.cshtml的头部。我正在使用angularJS和MVC。

1 个答案:

答案 0 :(得分:0)

刚想出如何解决这个问题。

我基本上需要包含以下代码

<script src="~/Scripts/angular.js"></script>
@Scripts.Render("~/bundles/myweb")
_Layout.cshtml和index.cshtml中的

(我只在Index.cshtml中使用过它)