但只有当我在输入字段中输入内容时,它才会显示旧消息。为什么?
myDataRef.on('child_added', function(snapshot) {
var message = snapshot.val();
$scope.messages.push({
name: message.name,
message: ': ' + message.text
});
});
});
答案 0 :(得分:1)
试试这个
myDataRef.on('child_added', function(snapshot) {
var message = snapshot.val();
$scope.messagessent.push({
namesent: message.name,
datesent: message.date,
messagesent: ': ' + message.text
});
$scope.$apply();
});
这将触发摘要周期并更新范围和视图。
如果myDataRef.on('child_added'
超出角度relhm,则范围和视图不会更新,因为angular确实知道范围发生了变化。因此我们需要通过使用$scope.$apply()
或强>
将其包装在$timeout
中,(不要忘记将$timeout
注入控制器)
myDataRef.on('child_added', function(snapshot) {
$timeout(function() {
var message = snapshot.val();
$scope.messagessent.push({
namesent: message.name,
datesent: message.date,
messagesent: ': ' + message.text
});
});
});