2017-02-21 23 views
0

У меня есть мини-приложение о прогнозе погоды. Это поток для получения информации о погоде для местоположения:Обновить кеш для директивы

  1. Поиск местоположения

  2. Нажмите в списке результатов ниже. Карта обновит и покажет маркер.

  3. Нажмите на маркер, и появится информационное окно, отображающее информацию о прогнозе погоды. Я использую директиву для создания инфобокса внутри карты. Это мой код:

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

Я попытался console.log данных внутри этой директивы (scope.city), и я могу видеть, что есть новые данные каждый раз, когда я нажимаю на маркер в другом месте.

Я чувствую, что есть кеш, и каждый всплывающий экран имеет одинаковый контент. Есть ли какие-либо идеи по этой проблеме? Это ссылка на мою заявку: beacots.com/wf/index.html

Спасибо в продвинутом !!!

ответ

0

Это было из-за ошибки с моим сервисом. Ранее это выглядит следующим образом:

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

Я обновил на этом фрагменте кода:

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