无法通过angularjs 1.8.2中的$scope变量访问firebase firestore数据

eiee3dmh  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(358)

我试图在firestore数据库中查找集合中的文档数量,并将该数量分配给angularjs中的$scope变量。我知道firestore中的查询是异步工作的,我也在使用async/await。还是没有运气!!!下面是代码。
控制器代码:

myProject.controller("Dashboard", function($scope){
$scope.setCases = async function($scope){
    const query = firestore.collection('Cases1');
    const lowerLimit = firebase.firestore.Timestamp.fromDate(new Date(new Date().setHours(0,0,0,0)));
    const upperLimit = firebase.firestore.Timestamp.fromDate(new Date(new Date().setHours(23,59,59,0)));
    const currentTimestamp = firebase.firestore.Timestamp.fromDate(new Date());

    //Todays cases
    const snapshot1 = await query.where("start", ">=", lowerLimit).where("start", "<=", upperLimit).get();
    $scope.todaysCases = snapshot1.size();

    // Upcoming Cases
    const snapshot2 = await query.where("start", ">", currentTimestamp).get();
    $scope.upcomingCases = snapshot2.size();
}

});
html:

<div ng-controller="Dashboard">
<div ng-init="setCases(this)">
    <p>{{todaysCases}}</p>
    <p>{{upcomingCases}}</p>
</div>

注意:当我尝试将$scope变量打印到函数内的控制台时,它们将显示在控制台中,但无法使用html中的表达式访问它们。上面的html代码是我的观点。
对此问题的见解将不胜感激!!!

7ivaypg9

7ivaypg91#

回答我自己的问题很奇怪,哈哈!!!下面的线做了这项工作。

$scope.$apply()

相关问题