2016-11-21 2 views
1

У меня есть стандартная директива с кликами. То, что я хочу достичь, - onClick, чтобы очистить параметры запроса, а затем добавить новый параметр из диаграммы в URL. Однако, когда я ввел $ location в директиву, событие onClick остановилось - я вижу, что путь был изменен, но новая страница не загружена.Имея директиву Highcharts, как получить/изменить текущий путь в событии onClick?

Вот код блока:

point:{ 
    events:{ 
    click: function (event) { 
     location.search({}); // clean up all query parameters 
     var path = location.absUrl() + '/sql_id=' + this.category; 
     location.href = path; // send me to the new url 
    } 
    } 
} 

Спасибо!

+0

Вы можете попробовать инъекционные '$ window' и с помощью' $ window.location' везде вы используете 'location'? –

+0

Это сработало, хотя я добавил окно только в одном месте. window.location.href = путь; Спасибо большое! – Petya

ответ

0

Благодаря Митч Лилли здесь ответ:

atlmonJSDirectives.directive('hcBar', ['$location', function (location) { 
 
    return { 
 
    restrict: 'E', 
 
    scope: { 
 
     items: '=', 
 
     container: '@' 
 
    }, 
 
    link: function(scope, element, attrs) { 
 
     scope.$watch('items', function (newval, oldval) { 
 
     if(newval) { 
 
      ... 
 

 
      var chart = new Highcharts.Chart({ 
 
      chart: { 
 
       renderTo: scope.container, 
 
       plotBackgroundColor: null, 
 
       plotBorderWidth: null, 
 
       plotShadow: false, 
 
       height: 270, 
 
       width: 470, 
 
       type: 'bar' 
 
      }, 
 
      ... 
 
      series: [{ 
 
       data: serValues, 
 
       point:{ 
 
        events:{ 
 
        click: function (event) { 
 
         location.search({}); // clean up all query parameters 
 
         var path = location.absUrl() + '/sql_id=' + this.category; 
 
         window.location.href = path; 
 
        } 
 
        } 
 
       } 
 
      }] 
 
      }); 
 

 
     }}); 
 
    } 
 
    } 
 
}]);

 Смежные вопросы

  • Нет связанных вопросов^_^