2016-08-21 3 views
0

Я пытаюсь выполнить некоторые действия, когда сначала загружается представление. В соответствии с документацией по ионному представлению (http://ionicframework.com/docs/api/directive/ionView/), я должен прослушать событие $ionicView.loaded, которое запускается при первом загрузке представления (Это изображение происходит только один раз для каждого создаваемого представления и добавляется в DOM) ,

Я пытаюсь слушать следующим образом:

$scope.$on("$ionicView.loaded", function(event, data){ 
     // handle event 
     console.log("IONIC VIEW LOADED"); 
     //updateScansList(db, $scope); //Populate list from table 
}); 

При выполнении программы, я ожидал увидеть «Ионные VIEW Loaded» на консоли, но это никогда не бывает.

Есть ли ошибка, которую я не улавливаю? Есть ли лучший способ прослушать первую загрузку View in Ionic?

Спасибо!

+0

Вы должны иметь '' на своей странице html. (страница, контролируемая этим контроллером, конечно). если у вас нет '' 'любое событие' $ ionicView' не срабатывает. – gianlucatursi

+0

У страницы есть '', и я знаю, что $ ionicView работает, потому что' $ ionicView.enter' запускается каждый раз, когда представление переходит в фокус, за исключением случаев, когда приложение открывается. –

ответ

0

Кажется, что $ionicView.enter - лучшее место для установки первой загрузки.

+0

Я также слушаю это событие. Это был мой первый вариант, но это событие не срабатывает при первоначальной загрузке представления. –

0

Я попробовал это, используя приложение для запуска вкладок и разместил ваш код $ ionicView.loaded в ChatsCtrl.

Приложение загрузилось с первого взгляда, но сообщение «IONIC VIEW LOADED» не появилось, пока я не перешел в режим просмотра чатов.

Вы правы в своем мышлении, потому что «загруженный» произойдет только один раз, когда представление сначала загрузится, тогда как «enter» должно появляться каждый раз, когда вы вводите представление.

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