找不到名为“my”的模块。找不到名为“mycontroller”的控制器

Posted

技术标签:

【中文标题】找不到名为“my”的模块。找不到名为“mycontroller”的控制器【英文标题】:Cannot find module with name 'my'. Cannot find controller with name 'mycontroller' 【发布时间】:2016-05-16 01:33:03 【问题描述】:

您好,我收到以下错误:

错误:找不到名为“my”的模块。

还有

在这一行发现了多个注释:-

找不到名为 my 的模块。找不到名为 my 的模块。 找不到名为 mycontroller 的控制器

请帮忙。谢谢 但是尽管存在错误,但我能够完美地运行代码。

我的代码如下:

<!DOCTYPE html>
<html ng-app="my">
<head>
<script src="angular.js"></script>
<script>
    var validation = angular.module('my', []);
    validation.controller('mycontroller' , function($scope) 
        $scope.firstName = "madhuri";
        $scope.email = "madhuri@gmail.com";
        $scope.age = "24";
        $scope.pattern = /^\d*$/;
    );

</script>
</head>

<body >
    <div ng-controller="mycontroller">
        <form name="form1">
            <label>Name :</label> <input type="text" name="name" ng-model="firstName" required> 
            <span style="color: red" ng-show="form1.name.$error.required"> please provide the name</span> 
            <br> 
            <br> 
            <label>Email: </label> <input type="email"
                name="email" ng-model="email"> 
            <span style="color: red" ng-show="form1.email.$error.email"> please provide the valid email address </span>
             <p style= "color: red" ng-show="form1.email.$error.email">please provide the valid email address</p>


            <label>age :</label> 
            <input type="text" name="age" ng-model="age" ng-pattern="pattern">
             <span style="color: red" ng-show="form1.age.$error.pattern"> please provide the correct age
            </span>
        </form>
    </div>
</body>
</html> -->`

【问题讨论】:

它对我有用jsbin.com/gujayadexa/edit?html,console,output 您的代码完全没有错误。您是否尝试过重置缓存?为了安全起见,您应该以隐身模式打开浏览器。我们都知道缓存可以成为杀手。 嗨,我添加了错误图像,我得到“error_screenshot”。我猜这是eclipse中的配置问题。请帮忙。 【参考方案1】:

尝试更改实例化控制器的方式。试试这个:

<script>
var validation = angular.module('my', []);
angular.module('my').controller('mycontroller' , function($scope) 
    $scope.firstName = "madhuri";
    $scope.email = "madhuri@gmail.com";
    $scope.age = "24";
    $scope.pattern = /^\d*$/;
);
</script>

或者你也可以像这样实例化它:

<script>
var validation = angular.module('my', []).controller('mycontroller' , function($scope) 
    $scope.firstName = "madhuri";
    $scope.email = "madhuri@gmail.com";
    $scope.age = "24";
    $scope.pattern = /^\d*$/;
);
</script>

我还添加了一个 JSFIDDLE,它可以以两种方式工作以表明它们有效

jsFiddle

【讨论】:

@JordyV 我的第一个解决方案已经完成,再看看。第一种解决方案也很常用,两种方法都可以。 @JordyV 进一步澄清如果控制器位于与模块不同的 JS 文件中,第一个解决方案将是最好的。第二种方案如果在同一个 JS 文件中效果最好。 @JordyV 再看一遍,它们都有效。这不是一个可行的解决方案,这是一个可行的解决方案。我提供了一个 JSFiddle 来证明我的观点,两个控制器都在工作! == 也适用于 javascript,但这不是它的本意。这确实有效,但使用不正确。它没有按照创建者的意图使用。不要那样使用它。 @JordyV 你到底在说什么?首先你批评这两个控制器,我证明它们都有效,现在你提出 == 并告诉我它不应该以某种方式使用。你确定你在评论正确的事情。我的回答是正确的并且解决了这个问题,并且根本没有使用 ==。 == 也是一种非常好的比较方法,只要您不想在严格类型上进行比较。

以上是关于找不到名为“my”的模块。找不到名为“mycontroller”的控制器的主要内容,如果未能解决你的问题,请参考以下文章

找不到名为 torch.nn 的模块

django wsgi 错误找不到名为站点名称的模块

cx_Freeze:Python 错误主脚本。找不到模块错误:没有名为 pygments.lexers.python 的模块

电脑开机显示找不到指定模块怎么办

Win7提示“找不到指定的模块”怎么办

找不到 Python cgi 服务器模块 [重复]