ionic不同view跳转到同一个

ionic不同view跳转到同一个 view并保留历史的路由设计

上代码:state 里面新加一个状态

.state("other", {
    url: "/other",
    abstract: true,
    controller: "OtherCtrl",
    template: "<ion-nav-view></ion-nav-view>",
    onEnter: function($rootScope, fromStateServ) {
        fromStateServ.setState("other", $rootScope.fromState, $rootScope.fromParams);
    }
})


对应的controller
.controller("OtherCtrl", function($scope, $state, fromStateServ) {
    $scope.backNav = function() {
        var fromState = fromStateServ.getState("other");
        if (fromState.fromState !== undefined) {
            $state.go(fromState.fromState.name, fromState.fromParams);
        } else {
            //设置没有历史的时候,默认的跳转
            $state.go("app.xxx");
        }
    };
})

保留 history 的公共方法
.factory("fromStateServ", function() {
    return {
        data: {},
        setState: function(module, fromState, fromParams) {
            this.data[module] = {
                "fromState": fromState,
                "fromParams": fromParams
            };
        },
        getState: function(module) {
            return this.data[module];
        }
    };
})

https://segmentfault.com/n/1330000004202748

posted @   小小强学习网  阅读(690)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示