Angular JS不会在函数javascript中加载范围内的值

时间:2018-01-14 21:55:22

标签: angularjs firebase angularjs-scope

我正在尝试从firebase获取数据并应用于我的scope.timeline。 我有一个函数timelineDB来访问firebase并返回值。

调试我的代码,我在某些方面收到了值。

$scope.timeline = timelineDB(); 
console.log($scope.timeline); //Here I have value

但是当我在index.html中调用时,这个值并没有反映在scope.timeline中,你的值为null。

{{timeline}}
[]

版本:

/**
 * @license AngularJS v1.6.6
 * (c) 2010-2017 Google, Inc. http://angularjs.org
 * License: MIT
 */

文件javascript:


    function timelineDB(){    
    const db = firebase.database();
        const ref = db.ref('timeline/-L-g_Ea4colCKXtMstqE');
        ref.orderByChild('data').on('value', showData, showError);
        var itens = [];
        function showData(item){
            item.forEach(function(child){
            console.log(child.val());
            itens.push({data: child.val().data});
            })
        }

        function showError(err){
            console.log(err);
        } 
        console.log(itens);
        return itens;
    };

档案index.html

angular.module("horizontalTimeline", []);
        angular.module("horizontalTimeline").controller("horizontalTimelineCtrl", function($scope){ //, $http           
            $scope.timeline = [];                   
            $scope.timeline = timelineDB(); 
            console.log($scope.timeline); //Here I have value
            $scope.$apply(); //Don't works
});
{{timeline}} //NULL

0 个答案:

没有答案