2016-01-15 2 views
1

Сейчас я использую angular.element(document).ready(init());, но он вызывает init(); на каждом обновлении страницы, а не при просмотре страниц назад и вперед. Как я могу вызвать эту функцию на каждом просмотре страницы?Как я могу вызвать функцию углов на каждом просмотре страницы?

Я пробовал также onload и ng-init, и они не работают - функция не вызывается.

+0

ли ваши страницы имеют различные контроллеры? Вы можете запускать функцию каждый раз при загрузке контроллера? – Matheno

+0

@MHakvoort Да, у них разные контроллеры. И да. – ftshtw

+0

Зачем вам это нужно? –

ответ

6

Я думаю, что это то, что вы ищете:

$routeChangeSuccess Распространяйте после изменения маршрута произошло успешно. Зависимости разрешений теперь доступны в свойстве current12oc. .

ngView прослушивает директиву для создания экземпляра контроллера и визуализирует представление.

Это то, что я делаю, и это работает для меня:

$scope.$on('$routeChangeSuccess', function() { 
    // do something 
}); 

Если вы не используете UI-маршрутизатор. Тогда это:

$scope.$on('$stateChangeSuccess', function() { 
    // do something 
}); 

Более подробную информацию можно найти в docs

+0

TBH он работает, но кажется, что у плагина, который я использую, есть некоторая ошибка и 'ngular.element (document) .ready (init());' заставляет его загружать. Есть ли другой способ заставить нагрузку этой функции на каждом просмотре страницы? – ftshtw

1

Сделайте функцию для соответствующего задания в контроллере и вызовите ее в контроллере.

Он будет называться каждый раз, когда обновляется страница.

Your Controller{ 
var functionname = function() 
{ 
} 
functionname(); 
} 
Смежные вопросы