2016-08-13 2 views
0

以下は、クライアント側にスライダを表示するためのコードです(バックアップされたスライダの数)。Angular JSでng-repeatを使用して要素を表示するのに10秒以上の遅延が発生する

これは、クライアント側のスライダー要素を表示するには、バックエンドは約8秒以上からスライダーオブジェクトを取得するために秒について2をとります。

誰かが1秒以下でこの状態を保つためにこれを最適化する方法についてアドバイスしてもらえますか?以下は私のコードです。以下は

HTML

内のコードです(スライダ参照:ya-no-ui-slider)以下

<div ng-repeat="(sliderName, commonOptions) in sliders " style="display: flex; align-items: center;" class='col-xs-2'> 
    <div class="vertical-slider " ya-no-ui-slider="commonOptions"> 
    </div> 
</div> 

が私の角度のjsのコードは

$scope.sliders = {} 

var commonOptionsSliders ={ 
    'slider1':{ 
    start: 0, 
    step: 1, 
    margin: 20, 
    direction: 'rtl', 
    orientation: 'vertical', 
    range: {'min': 0, 'max': 100}, 
    tooltips: true 
    }, 
    'slider2':{ 
    start: 0, 
    step: 1, 
    margin: 20, 
    direction: 'rtl', 
    orientation: 'vertical', 
    range: {'min': 0, 'max': 100}, 
    tooltips: true 
    } 
} 


// Obtaining slider objects from firebase to display on client 

var slidersRef = firebase.database().ref('slidersDetails'); 
$scope.obtainsliders = function(){ 

    slidersRef.once('value').then(function(dataSnapshot) { // Once the value is obtained from dB execute the below code 
    var sliderObjects = dataSnapshot.val(); 

    if(Object.getOwnPropertyNames(sliderObjects).length !== 0){ // Checking if sliderObjects is empty 

     for (key in sliderObjects){ // Iterating through sliderObjects 
     var sliderObject = sliderObjects[key]; 
     for (key in sliderObject){ 
      var sliderDetailsObject = sliderObject[key]; 
      var sliderName = sliderDetailsObject['sliderName']; 
      $scope.sliders[sliderName] = commonOptionsSliders[sliderName]; // Assingning options to the relavent sliders 
     } 
     } 
    } 
    }); 
} 

$scope.obtainsliders(); 

答えて

0

である私は、約1までの遅延時間を短縮することができました秒にイベントハンドラの末尾に$scope.$apply()を追加します。得られた溶液here

..... 
$scope.sliders[sliderName] = commonOptionsSliders[sliderName]; // Assingning options to the relevant sliders 
$scope.$apply() // *** Here is the added code *** 
関連する問題