Я пытаюсь создать приложение сообщения instanse (чат) с помощью socket.io и Angular. У меня есть 2 файла: index.html и index.js, показанные ниже. чат отлично работает, если я нажму кнопку «Отправить», я не вижу сообщение в окне чата. Я только вижу сообщение как только я нажимаю текстовое поле ввода с курсором мыши ... Что я делаю неправильно?socket.io с Angular не отображается сообщение мгновенно
i дополнение, я также вижу тег < li> как часть текста. Я хочу, чтобы этот тег быть тег HTML, а не текстовая строка ...
Благодаря
index.html
<html>
<head>
<title>My Chat</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
{{ message }}
<form >
<input autocomplete="off" ng-model="exampleText" type="text" />
<button type='button' ng-click="submit()">
Send
</button>
</form>
</div>
<script>
var app=angular.module("myApp", []);
var socket = io();
app.controller("myCtrl", function($scope) {
$scope.message='';
$scope.submit=function(){
socket.emit('chat message', angular.copy($scope.exampleText));
$scope.exampleText='';
return false;
}
socket.on('chat message', function(msg){
$scope.message=$scope.message+" <li> "+ msg;
});
});
</script>
</body>
</html>
index.js
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.use(express.static(__dirname + '/'));
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
console.log('a user connected');
socket.on('chat message', function(msg){
io.emit('chat message', msg);
});
socket.on('disconnect', function(){
console.log('user disconnected');
});
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
проверки https://github.com/btford/angular-socket-io –