Ich versuche, eine Chat-Anwendung mit eckigen am Frontend zu erstellen.Winkels Fehlermeldung "Fehler beim Instanziieren des Moduls" nur im Explorer
Ich habe eine neue Funktion namens isUserTyping zum Controler des Chats hinzugefügt und in Chrome getestet. es hat gut funktioniert.
im Explorer aber die Seite lädt nicht mit dieser Funktion (sobald ich es entfernen funktioniert es gut). Ther Fehler, den ich in der consoelo bekommen, ist dies:
„SCRIPT5022: [$ Injektor: modulerr] Nicht bestandene Modul mymodule aufgrund instanziiert: Fehler: [$ Injektor: nomod] Module 'mymodule' ist nicht verfügbar! Sie haben entweder den Modulnamen falsch geschrieben oder vergessen, ihn zu laden. Wenn Sie ein Modul registrieren, stellen Sie sicher, dass Sie die Abhängigkeiten als zweites Argument angeben. "
Ich weiß nicht, was dieser Fehler bedeutet .... Ich habe unten den Code, den ich habe.
Wenn jemand eine Idee hat, was dies im Explorer verursacht, werde ich es sehr schätzen.
Skript js:
var mymodule = angular.module('mymodule', ['ngRoute']);
mymodule.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl : 'pages/enter.html',
controller : 'SharedController'
})
.when('/chat', {
templateUrl : 'pages/chat.html',
controller : 'cntrlChat'
});
});
mymodule.factory('myService', function() {
var savedData = {}
var set=function (data) {
savedData = data;
}
function get() {
return savedData;
}
return {
set: set,
get: get
}
});
mymodule.controller('SharedController', ['$scope', 'myService','$location',
function($scope, myService, $location){
$scope.updateMsg = function (msg) {
myService.set(msg);
$location.path("chat");
}
$scope.getMsg = function() {
$scope.message = myService.get();
}
}]);
mymodule.controller("cntrlChat", ['$scope', 'myService','$q','$timeout',
function($scope, myService,$q,$timeout){
var socket = io();
$scope.messages = [];
$scope.room= myService.get();
socket.emit('room', $scope.room);
$scope.submit=function(){
socket.emit('chat_message',{ room: $scope.room, msg: $scope.room+": "+$scope.insertedText });
$scope.insertedText='';
return false;
}
socket.on('chat_message', function(msg){
$scope.$apply(function() {
$scope.messages.push(msg);
});
});
socket.on('info_message', function(msg){
$scope.$apply(function() {
$scope.info=msg;
});
});
$scope.isUserTyping= function() {
var runTwoFunctionWithSleepBetweenThem=function(foo1, foo2, time) {
$q.when(foo1()).then(() => $timeout(foo2, time));
}
runTwoFunctionWithSleepBetweenThem(function(){socket.emit('info_message', { room: $scope.room, msg: 'user is typing...' })},
function(){socket.emit('info_message', { room: $scope.room, msg: '' });},1500);
}
}]);
html
*<form ng-submit="submit()">
{{info}}
<br>
<input autocomplete="off" ng-model="insertedText" ng-change="isUserTyping()" type="text" />
<button type="button" ng-click="submit()">
Send
</button>
</form>*
Welche Version von IE? –