几周前,我买了一本关于使用angularjs聊天应用程序的教程书。实际上,本书提供了有关angularjs和其他一些信息的信息,但是聊天应用程序本身没有解释,作者只是给出了所有代码来构建它而没有解释。所以,我只是复制并粘贴代码,但我不明白那里的一些代码。喜欢这个发送消息的功能:
$scope.messageshistory = {};
$scope.tmp = {};
// send message
$scope.sendMessage = function(){
$scope.messages = {
from : $scope.datauser['data']['_id'],
fromname : $scope.datauser['data']['nama'],
to : $scope.tmpuserid,
message : $scope.tmp['sendmessage'],
time : moment()
};
//event emit message
socket.emit('message',$scope.messages,function(callback){
if(!callback['error']){
$scope.messages['time'] = moment($scope.messages['time']).format('DD-MMMM-YYYY hh:mm');
if ($scope.messageshistory.hasOwnProperty($scope.tmpuserid)){ $scope.messageshistory[$scope.tmpuserid].push($scope.messages);
}else{
$scope.messageshistory[$scope.tmpuserid] = [];
$scope.messageshistory[$scope.tmpuserid].push($scope.messages);
}
$scope.tmp['sendmessage'] = '';
}else{
var msg = callback['error'];
navigator.notification.alert(msg,'','Error Report', 'Ok');
}
$scope.$apply();
});
};
我的问题是$scope.messageshistory.hasOwnProperty($scope.tmpuserid)
实际上是什么?什么是$scope.messageshistory[$scope.tmpuserid].push($scope.messages)
在做什么?谢谢你的解释
答案 0 :(得分:0)
$scope.messageshistory
是用户ID的历史记录的关联数组。 $scope.messageshistory.hasOwnProperty($scope.tmpuserid)
检查用户是否有带tempuserid的消息历史记录。如果他这样做,$scope.messageshistory[$scope.tmpuserid].push($scope.messages)
将消息推送到表示当前用户和tempuserid之间的消息历史记录的数组。