Javascript 错误控制器ctrlreg名称为“的控制器”;chatCtrl";没有注册吗?
新的角度。也许我很笨,但尽管我检查了指定的命名错误,但不确定是否有其他人看到了与我相同的问题。我使用了约定Ctrl作为控制器的简写 我的聊天控制器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 $
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
之前,因为这就是我调用模块的地方。