2017-02-21 6 views
0

私は天気予報についてミニアプリケーションを持っています。これは場所の気象情報を取得するためのフローである:下記の結果リスト上の場所ディレクティブのリフレッシュキャッシュ

  • クリックため

    1. 検索。地図が更新され、マーカーが表示されます。

    2. マーカーをクリックすると、天気予報情報を表示する情報ボックスが表示されます。 私はマップの中でインフォボックスを生成するためにディレクティブを使用します。

      app.directive("todayInfoDirective", function ($compile) { return { templateUrl: './src/views/infoBox.html', link: function(scope, element, attrs) { scope.city = scope.$eval(attrs.city); console.log(scope.city); } } });

    私はこのディレクティブ(scope.city)内のデータをCONSOLE.LOGしようとしたと私は別の場所のマーカーをクリックすると、新しいデータがあるか見ることができます:これは私のコードです。

    キャッシュがあり、すべてのポップアップに同じ内容が含まれているように感じます。 この問題についてご意見はありますか? これは私のアプリケーションへのリンクです:beacots.com/wf/index.html

    ありがとうございました!!!

  • 答えて

    0

    私のサービスのバグのためでした。以前は、それは次のようになります。

    app.factory('darkSkySvr', function ($http) { 
        var promise = null; 
        return function (lat, lng) { 
         promise = $http({ 
          cache: false, 
          method: 'GET', 
          url: 'http://api.thoitiethanoi.dev2.sutunam.com/forecast/' + lat + ',' + lng, 
         }) 
         return promise; 
        } 
    }) 
    
    :私はこのコードのスニペットによって更新

    app.factory('darkSkySvr', function($http) { 
        var promise = null; 
        return function(lat, lng) { 
         if(promise) { 
          return promise; 
         } 
         else { 
          promise = $http({ 
           cache: false, 
           method: 'GET', 
           url: 'http://api.thoitiethanoi.dev2.sutunam.com/forecast/' + lat + ',' + lng, 
          }) 
          return promise; 
         } 
        } 
    }) 
    

    関連する問題