【问题标题】:New data emit by socket.io is not take by AngularJSsocket.io 发出的新数据不会被 AngularJS 接收
【发布时间】:2019-03-11 07:57:17
【问题描述】:

我有一个带有 socket.io 的 NodeJs 服务器,我的应用程序是一个聊天工具,我使用 AngularJS 作为客户端,我的问题是当我将新数据发送到我的数据库时被正确保存,但是当我到达我的客户端时数据不会自行刷新,

在我的客户端聊天控制器上

我有这个

 socket.on(CHAT.GET_CHATS, instance.onChatsReceived);

我正在调用这个函数

从套接字服务器接收发出的对象以及所有数据

    function onChatsReceived(chatsArr) {
        console.log(chatsArr);
        // decode messages for history array
        chatsArr.forEach(function (oneChat) {
            var parsed = JSON.parse(oneChat.members);
            var parsedSent = JSON.parse(oneChat.sentby);
            // console.log(parsedSent)
            var nick = parsedSent[0].lastseen;
            // console.log(nick);
            oneChat.isOnline = $scope.isOnline(parsedSent[0].lastseen);
            var decoded = htmlDecode(oneChat.message);
            oneChat.message = decoded;
            oneChat.members = parsed;
        });

        $scope.messagesCounted = true;

        $scope.$applyAsync(function () {
            $scope.chats = chatsArr;
            if ($scope.chats.length < 100 ) {
                $scope.loadMoreContacts = false;
            }
        });

    }

但如果我不刷新浏览器,我的对象数组不会改变

插入数据后,我的数组来自我的套接字

(18) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]

插入数据并刷新浏览器后

(19) [{…}、{…}、{…}、{…}、{…}、{…}、{…}、{…}、{…}、{…}、{…} , {…}, {…}, {…}, {…}, {…}, {…}, {…}]

这就像 socket.io 发出数据但 AngularJS 不刷新它有些可以帮助我提前感谢。

【问题讨论】:

    标签: sql angularjs node.js socket.io


    【解决方案1】:

    您能否提供您正在运行的 Angular 的版本?

    我很确定,这来自于原始框架的功能需要转换为适合您的风格(提供者、工厂或服务)进入摘要循环的必要性。

    查看 Typescript 版本 (Angular2+) 的教程

    https://tutorialedge.net/typescript/angular/angular-socket-io-tutorial/

    或者 AngularJS (1

    https://code.tutsplus.com/tutorials/more-responsive-single-page-applications-with-angularjs-socketio-creating-the-library--cms-21738

    【讨论】:

    • 是的,肯定是 angularjs 1.6.6 感谢您回复我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 2018-12-13
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 2021-11-04
    相关资源
    最近更新 更多