猿问

收到第二个控制器未注册的错误

我正在尝试从头开始编写一个 Angular 应用程序。(新手)不断收到第二个控制器未注册的错误。为什么?


这是我的三个文件,由于某种原因,它一直说“名为“secondController”的控制器未注册。”


索引.html


<!DOCTYPE html>

<html ng-app="myApp">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>Document</title>

    <script src="./angular.js"></script>

    <script src="./secondModule.js"></script>

    <script src="./app.js"></script>

  </head>

<body>

    <div ng-controller="appController">

       <p>App text : {{myAppText}}</p>


       <p>secondControllerModule: {{ secondControllerText }}</p>

    </div>


    <div ng-controller="secondController">

        Second Module : {{secondControllerText}}

    </div>

</body>

</html>


应用程序.js


 angular.module("myApp", [])

.controller("appController",["$scope", function($scope){

    $scope.myAppText = "Hello, I am appController text"


}])

secondModule.js


angular.module("myApp", [])

.controller("secondController",["$scope", function($scope){

    $scope.secondControllerText = "Hello, I am seasdfsdfasdfacond   Controller Text"

}])


潇湘沐
浏览 212回答 2
2回答

RISEBY

我认为根据您的代码,您应该获取三个文件 1. 在 module.js 文件中声明角度模块var&nbsp;app&nbsp;=&nbsp;angular.module("myApp",&nbsp;[]);添加第一个控制器 appController.jsapp.controller("appController",["$scope", function($scope){$scope.myAppText = "你好,我是 appController text";}]);添加第二个控制器文件 secondController.jsapp.controller("secondController",["$scope", function($scope){ $scope.secondControllerText = "你好,我是 seasdfsdfasdfacond 控制器文本"; }]);现在把它们放在这个层次结构中 - 添加 Angular JS 的 ref 然后 1&nbsp;module.js&nbsp;2&nbsp;appController.js&nbsp;3secondController.js

交互式爱情

首先,我想澄清一下这是不正确的:&nbsp;<div ng-controller="appController">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<p>App text : {{myAppText}}</p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<p>secondControllerModule: {{ secondControllerText }}</p>// Defined in the wrong ng-controller,&nbsp;so move it to the correct one.&nbsp; &nbsp; &nbsp; &nbsp; </div>您收到该错误的原因是您在 js 文件中定义了两次应用程序模块。这很简单,你需要做的就是在你的secondModule.js 中去掉第二个参数angular.module("myApp")// Needs to be like this.controller("secondController",["$scope", function($scope){&nbsp; &nbsp; $scope.secondControllerText = "Hello, I am seasdfsdfasdfacond&nbsp; &nbsp;Controller Text"}])然后在你的app.js 文件中angular.module("myApp", []).controller("appController",["$scope", function($scope){&nbsp; &nbsp; $scope.myAppText = "Hello, I am appController text"}])然后在您的 HTML 文件中,您需要修复脚本的顺序&nbsp; <script src="./angular.js"></script><script src="./app.js"></script> // App module must be first because the module is defined here&nbsp; <script src="./secondModule.js"></script>
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答