2016-12-14 8 views
0

私はangularJSとnode.jsで作業しています ここでは、 'ng-style'の三項条件は常に真でなければならないという結果になります。 がここに私のコードです:上記のコードでngスタイルの三項条件は常に偽になります

  <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-スタイルは、送信側ソケットと同様に、受信ソケット(ポインタ)の両方で、偽の結果です。 次の行では、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); 
     }); 

あなたは可能性のある理由かもしれないものを私に示唆することはできますか?およびソリューション。

+1

msessage.toidミススペルされている –

答えて

1

私がなぜわからないが、私はあなたがこの試すことができると思う:私はこれがあなたのために働くべきだと思い

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

を:

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

または:

ng-style="{{message.toid === socketId}} ? {'cursor':'not-allowed'} : {'cursor':'pointer'}" 
関連する問題