HTML
<li ng-repeat="name in $ctrl.names">{{name}}</li>
下面的代码从firestore数据库中检索数据,并且正在更新名列数组。但是,视图未填充新数据。我已经广泛阅读了关于stackoverflow和其他问题的问题,但没有成功。有人可以帮忙吗?谢谢。
let names = [];
this.names = names;
listRef.get()
.then(function(doc) {
if (doc.exists) {
names = doc.data().listOfNames;
}
}
答案 0 :(得分:1)
找到了解决方法。将要在$ scope。$ apply()中更新的变量包装起来。这告诉angularjs监视$ scope.name上的更新,这是以前没有做的,因为$ scope.names变量是在angularjs上下文之外进行更新的。
$scope.names = [];
listRef.get()
.then(function(doc) {
if (doc.exists) {
$scope.$apply(function () {
$scope.names = doc.data().listOfNames;
}
}
}
答案 1 :(得分:0)
您可以试试吗? 我猜你在这里失去了数组参考。
let names = [];
$ctrl = this;
$ctrl.names = names;
listRef.get()
.then(function(doc) {
if (doc.exists) {
$ctrl.names = doc.data().listOfNames;
}
}