Javascript 错误控制器ctrlreg名称为“的控制器”;chatCtrl";没有注册吗?

Javascript 错误控制器ctrlreg名称为“的控制器”;chatCtrl";没有注册吗?,javascript,angularjs,Javascript,Angularjs,新的角度。也许我很笨,但尽管我检查了指定的命名错误,但不确定是否有其他人看到了与我相同的问题。我使用了约定Ctrl作为控制器的简写 我的聊天控制器ChatCtrl.js如下 angular.module("blocChat") .controller("ChatCtrl", function($scope, Message, Room) { $scope.roomName $scope.rooms = Room.all $

新的角度。也许我很笨,但尽管我检查了指定的命名错误,但不确定是否有其他人看到了与我相同的问题。我使用了约定Ctrl作为控制器的简写

我的聊天控制器
ChatCtrl.js
如下

    angular.module("blocChat")
      .controller("ChatCtrl", function($scope, Message, Room) {
         $scope.roomName
         $scope.rooms = Room.all
         $scope.goToRoom = function(room) {
           $scope.selectedRoom = room
           console.log($scope.selectedRoom)
           $scope.messages = Message.getByRoomId($scope.selectedRoom.id)
         }
         $scope.message = function() {
         }
       });
我的
Index.html
如下:

    <!DOCTYPE html>
    <html ng-app="blocChat">
    <head lang="en">
      <meta charset="UTF-8">
      <title>Bloc Chat Project</title>
      <link rel="stylesheet" href="/styles/style.css">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400,800,600,700,300">
      <link rel="stylesheet" type="text/css" href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
      <link rel="stylesheet" type="text/css" href="styles/normalize.css">
      <!-- <link rel="stylesheet" href="/styles/landing.css"> -->
      <link rel="stylesheet" href="/styles/home.css">
      <link rel="stylesheet" href="/styles/room.css">
      <link rel="stylesheet" type="text/css" href="/styles/style.css" />
    </head>
    <body class="home" ng-controller="ChatCtrl">
      <!-- <ng-include src="'/templates/home.html'"></ng-include> -->
      <h1>Bloc Chat</h1>
      <h2>{{ roomName }}</h2>
      <ul><li ng-repeat="room in rooms"><a ng-click="goToRoom(room)">{{ room.name }}</a></li></ul>
      <h1>Room: {{ selectedRoom.name }}<h1>
        <h2>Room Html<h2>
        <div><li ng-repeat="message in messages"> {{ message.text }} </li></div>
      <script data-require="angular.js@1.6.1" data-semver="1.6.1" src="https://code.angularjs.org/1.6.1/angular.js"></script>
      <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
      <!-- ui's -->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular-animate.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.min.js"></script>
      <!-- firebase -->
      <script src="https://www.gstatic.com/firebasejs/3.6.6/firebase.js"></script>
      <script src="https://cdn.firebase.com/libs/angularfire/2.3.0/angularfire.min.js"></script>
      <!-- css -->
      <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.css"></script> -->
      <!-- app scripts -->
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-cookies.js"></script>
      <script src="/scripts/app.js"></script>
      <script src="/scripts/controllers/ChatCtrl.js"></script>
      <script src="/scripts/controllers/HomeCtrl.js"></script>
      <script src="/scripts/controllers/RoomCtrl.js"></script>
      <script src="/scripts/controllers/UsernameCtrl.js"></script>
      <script src="/scripts/factory/Message.js"></script>
      <script src="/scripts/factory/Room.js"></script>
    </body>
    </html>         
app.js
中的我的代码:

    angular.module("blocChat", ['ui.bootstrap'])
      .controller("UsernameCtrl", function($scope, $uibModal) {
        $uibModal.open({
          controller: "ModalCtrl",
          templateUrl: "/templates/username.html"
        })
      })
      .controller("ModalCtrl", function($uibModalInstance, $scope) {
        $scope.user = {
          username: "John",
          password: "test"
        }
      })
      .run(function($uibModal) {
        $uibModal.open({
          controller: "ModalCtrl",
          templateUrl: "/templates/username.html"
        })
      })
    angular
      .module('blocChat', ['firebase', 'ui.bootstrap'])
      .config(function($locationProvider) {
        var config = {
          apiKey: // Firebase API key
          authDomain:// Firebase Auth domain ("*.firebaseapp.com")
          databaseURL: // Firebase Database URL("https://*.firebaseio.com")
          storageBucket: "bloc-chat-117d5.appspot.com",
          messagingSenderId: "324260113714"
        };
        firebase.initializeApp(config);
      })
我的总体代码如下:
在调用
angular.module(“blocChat”)
时,我在
ChatCtrl.js
中尝试了使用和不使用
[]
的方法。我很感激你能给我的任何建议,因为我知道我在编码方面还有很多东西要学。谢谢。

您两次声明同一模块

没有第二个参数,
anguler.module('moduleName')
是一个getter。但对于依赖注入参数,它是一个setter

更改:

angular.module("blocChat", [])


或者将依赖项注入移动到此声明,因为脚本加载的顺序是先加载此模块

您将两次声明同一模块

没有第二个参数,
anguler.module('moduleName')
是一个getter。但对于依赖注入参数,它是一个setter

更改:

angular.module("blocChat", [])


或者将依赖项注入移动到此声明中,因为脚本加载的顺序是先加载此声明

我最初尝试了它,但没有使用“[]”,正如我在文章最后一部分中提到的那样。谢谢你提醒我注意这个错误,我会在原帖中澄清,以防进一步混淆。不过请注意脚本加载的顺序。确保setter位于getterYes之前..您需要它用于
ui.bootstrap
,但您需要确保脚本加载顺序在回答中提到的该模块的任何getter之前具有setter文件。。。具有依赖项注入数组的特定模块的唯一一个是设置模块(注册它)的模块。。。没有注入数组的是对现有模块(getter)的引用。但在你设置脚本加载顺序之前,我无法获得。matterI相信这个伟大的建议解决了我的问题。事实上,我在
UsernameCtrl.js
中调用了
ui.bootstrap
,这意味着脚本需要按顺序放在
chatCtrl.js
之前,因为这是我调用模块的地方。我最初在没有“[]”的情况下尝试了它,正如我文章最后一部分提到的那样。谢谢你提醒我注意这个错误,我会在原帖中澄清,以防进一步混淆。不过请注意脚本加载的顺序。确保setter位于getterYes之前..您需要它用于
ui.bootstrap
,但您需要确保脚本加载顺序在回答中提到的该模块的任何getter之前具有setter文件。。。具有依赖项注入数组的特定模块的唯一一个是设置模块(注册它)的模块。。。没有注入数组的是对现有模块(getter)的引用。但在你设置脚本加载顺序之前,我无法获得。matterI相信这个伟大的建议解决了我的问题。事实上,我在
UsernameCtrl.js
中调用了
ui.bootstrap
,这意味着脚本需要按顺序位于
chatCtrl.js
之前,因为这就是我调用模块的地方。