2017-02-21 2 views
0

Ich habe eine Mini-Anwendung über die Wettervorhersage. Dies ist der Fluss für immer die Wetterinformationen für einen Standort:Refresh Cache für eine Direktive

  1. Suche nach einem Standort

  2. Klicken Sie auf der Ergebnisliste unten. Die Karte wird aktualisiert und zeigt einen Marker an.

  3. Klicken Sie auf den Marker und das Infobox, das die Wettervorhersage anzeigen wird angezeigt. Ich verwende eine Direktive, um die Infobox in der Karte zu generieren. Dies ist mein Code:

    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); } } });

Ich habe versucht, Daten in dieser Richtlinie (scope.city) console.log und ich dort neue Daten zu sehen ist, wenn ich die Markierung der anderen Stelle klicken.

Ich glaube, dass es einen Cache gibt und jedes Popup den gleichen Inhalt hat. Gibt es eine Idee zu diesem Problem? Dies ist der Link zu meiner Bewerbung: beacots.com/wf/index.html

Vielen Dank !!!

Antwort

0

Es war wegen des Fehlers mit meinem Service. Bisher sieht es wie folgt aus:

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; 
     } 
    } 
}) 

ich dieses Code-Snippet aktualisiert:

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; 
    } 
})