ng-style三元条件总是导致错误

时间:2016-12-14 19:13:32

标签: angularjs node.js socket.io

我正在使用angularJS和node.js 这里出现了一个问题,那就是' ng-style'三元条件总是导致错误,而它必须是真的。 这是我的代码:

           <div class="msg-single" 
               ng-repeat="message in messages"
               ng-style="{'cursor': msessage.toid === socketId ? 'not-allowed':'pointer'}">
               {{message.fromid === socketId ? 'You': message.name }} : {{ message.msg }}
           </div>

在上面的代码中,ng-style在发送方套接字和接收方套接字(指针)上都是假的。 在下一行中,message.fromid === socketId它工作正常意味着它在同一个socketId时为true,但在发送方正在发送消息的另一个套接字ID中为false。

相关的.js代码是:

socket.on('getMsg', (data) => {

            socket.broadcast.to(data.toid).emit('sendMsg',{
                msg:data.msg,
                name:data.name,
                fromid:data.fromid,
                toid:data.toid
            });
            socket.emit('sendMsg',{
                msg:data.msg,
                name:data.name,
                fromid:data.fromid,
                toid:data.toid
            });

        });

socket.on('sendMsg', (data) => {
    //console.log('send');
            $scope.messages.push(data);
       });

你能告诉我可能的原因吗?和解决方案。

2 个答案:

答案 0 :(得分:1)

我不知道为什么,但我认为你可以试试这个:

ng-style="{message.toid === socketId} && {'cursor': 'not-allowed'} || {'cursor':'pointer'}"

答案 1 :(得分:0)

我认为这应该适合你:

ng-style="message.toid === socketId ? {'cursor':'not-allowed'} : {'cursor':'pointer'}"

或者:

ng-style="{{message.toid === socketId}} ? {'cursor':'not-allowed'} : {'cursor':'pointer'}"