2016-08-21 45 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 
}); 

当执行程序,我希望在控制台上看到“离子查看装入”,但从未发生过。

有没有错误,我不捕捉?有没有更好的方法来聆听Ionic中View的第一次加载?

谢谢!

+0

你应该在你的html页面有''。 (当然是由这个控制器控制的页面)。如果您没有''任何'$ ionicView'事件不会触发。 – gianlucatursi

+0

页面确实有'',我知道$ ionicView工作原理是因为'$ ionicView.enter'在每次视图进入焦点时都会触发,除非应用程序打开。 –

回答

0

看起来$ionicView.enter是首次加载设置的好地方。

+0

我也在听这个事件。这是我的第一个选择,但该视图最初加载时不会触发该事件。 –

0

我试着使用选项卡启动器应用程序,并将$ ionicView.loaded代码放置在ChatsCtrl中。

应用程序加载罚款的第一个视图,但“IONIC VIEW LOADED”消息没有出现,直到我去聊天视图。

你的想法是正确的,因为“加载”只会在视图第一次加载时才会发生,而每次进入视图时都会发生“进入”。