我想在我的聊天系統中發送消息後清除輸入,但範圍不想更新。將其設置在$apply
,$digest
或$timeout
內不起作用,因爲摘要循環已在運動中。如何從解析方法內更新範圍?
下面是函數:
$scope.sendMessage = function(chat, newMessage) {
var messageObj = {
by: $scope.uuid,
message: newMessage,
timestamp: Date.now()
}
fbCrud.push('chats/' + chat.$id + '/history', messageObj)
.then(function() {
newMessage = '';
})
.catch(function(err) {
setStatus(false, 'Unable to send message', true);
});
};
這是我的textarea:
<textarea ng-enter="sendMessage(chat, newMessage)" ng-model="newMessage"></textarea>
我該如何解決這個問題?
您需要將範圍值(如
$scope.message
)設置爲''
您究竟在哪裏嘗試更新範圍? newMessage沒有綁定在作用域上,它看起來像一個普通變量 –顯示你的HTML輸入。 – dfsq
@dfsq更新的問題。 –