ionic结合angularjs实现跳转到上个页面的功能
发布时间:2020-12-17 10:00:49 所属栏目:安全 来源:网络整理
导读:虽然ionic已经出来很长一段时间了,但网上的资料依然很少,最近项目中有个很简单的功能要实现,就是返回上个页面,看了一些例子,但都不理想,最简单的一个方法是通过$ionicHistory.goBack();的方法来返回上一页,但用下来发现会有问题,常常挑错页面,于是
虽然ionic已经出来很长一段时间了,但网上的资料依然很少,最近项目中有个很简单的功能要实现,就是返回上个页面,看了一些例子,但都不理想,最简单的一个方法是通过$ionicHistory.goBack();的方法来返回上一页,但用下来发现会有问题,常常挑错页面,于是自己研究了一个方法,效果还不错,和大家分享一下。
1.首先是页面,在头上加个返回按钮,代码如下 <ion-view> <ion-nav-title> </ion-nav-title> <ion-nav-buttons side="left"> <button class="button button-icon icon ion-ios-arrow-back" ng-click="goBack()"></button> </ion-nav-buttons> <ion-content> </ion-content> </ion-view> 2.增加一个$cacheFactory用来保存url地址 .factory('pageCache',function($cacheFactory){ return $cacheFactory('page'); }) 3.写一个保存url的方法,再写一个跳转页面的方法 .factory('commonFactory',function(pageCache,$location){ return{ backUrl:function(url){ pageCache.put('url',url);//这个用来保存页面 },goBack:function(){ $location.path(pageCache.get('url'));//这个用来跳转页面 } } }) 4.第一个页面的controller在页面加载的时候就把当前的url保存下来 .controller('carController',function ($scope,$location,commonFactory) { $scope.$on('$ionicView.beforeEnter',function(){ commonFactory.backUrl($location.url());//保存当前页面的url }) }) 5.第二个页面,要返回的时候只要调用goBack()方法就可以了 .controller('mapController',commonFactory) { $scope.goBack=function(){ commonFactory.goBack(); }; }) 这里只提供一个思路,懂ionic和angularjs的人一看就懂,初学者的话,先看看angularjs的基本语法,有不懂的可以回帖提问。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |