今天在做任务的时候发现,需要在angularjs中知道什么时候页面加载完成,这样才能进行一些弹出操作,不然页面没有出来就弹出显得很突兀。
下面是解决办法:
$scope.showalert = function() { var alertpopup = $ionicpopup.alert({ title: 'don\'t eat that!', template: '<h1>it might taste good</h1>' }); }; $scope.$watch('$viewcontentloaded', function() { $scope.showalert(); });
运行效果:
能够隐约的看到了后面的页面了,说明先进行的页面加载,之后才进行的弹出。
ps:下面看下angularjs页面加载后自动弹窗
首先在控制器内写好一个弹窗,我用的是ionic的默认提示对话框
// 一个确认对话框 $scope.showconfirm = function() { var confirmpopup = $ionicpopup.confirm({ title: 'consume ice cream', template: 'are you sure you want to eat this ice cream?' }); confirmpopup.then(function(res) { if(res) { console.log('you are sure'); } else { console.log('you are not sure'); } }); };
然后在控制器内加入$viewcontentloaded事件
$scope.$watch('$viewcontentloaded', function() { $scope.showconfirm(); });
在网上看有人说在官方的api里面没有看到viewcontentloaded,可能angular2之后废除了?但是我使用老版本是可以的。还要多学习其他方法捏..
如对本文有疑问, 点击进行留言回复!!
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
分享Angular http interceptors 拦截器使用(推荐)
网友评论