ionic结合angularjs实现跳转到上个页面的功能

虽然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', function ($scope,commonFactory) {

        $scope.goBack=function(){
            commonFactory.goBack();
        };

    })


这里只提供一个思路,懂ionic和angularjs的人一看就懂,初学者的话,先看看angularjs的基本语法,有不懂的可以回帖提问。



















猜你喜欢

转载自blog.csdn.net/kouwoo/article/details/52242862