返回不刷新_钉钉微服务返回不刷新 - CSDN
精华内容
参与话题
  • 在开发中,我们从页面1跳转到页面2,然后再返回到页面1,需要页面2传过来一些数据,这时页面1的数据要刷新。(或者更多级页面的跳转与返回) 解决方案 onShow 将需要刷新的数据所在的方法写在onShow中,之前可能写在...

    问题描述

    在开发中,我们从页面1跳转到页面2,然后再返回到页面1,需要页面2传过来一些数据,这时页面1的数据要刷新。(或者更多级页面的跳转与返回)

    解决方案

    onShow

    将需要刷新的数据所在的方法写在onShow中,之前可能写在onLoad里面。onLoad是页面加载,一个页面只会调用一次;onShow是页面显示,每次打开页面都会调用一次。不管返回多少级,返回后页面总是要显示的,这样数据就刷新了。

    网上看到说用vuex也可以实现,这个我没试过,有了解的小伙伴欢迎评论哈

    展开全文
  • 解决IOS返回不刷新

    千次阅读 2018-05-10 17:26:21
    * pageshow只使用于ios10以上。

    * pageshow只使用于ios10以上。

    展开全文
  • 小程序返回上界面不刷新问题

    万次阅读 2017-12-21 10:09:45
    现在假设我有个A界面,列表或者是其他的界面,从A界面点击跳转到B界面,然后在B界面操作后A界面应该发生变化,但是实际上我们点击返回的时候我们发现并没有刷新,这个时候我们应该通过界面栈来实现A界面的刷新,下面...

    现在假设我有个A界面,列表或者是其他的界面,从A界面点击跳转到B界面,然后在B界面操作后A界面应该发生变化,但是实际上我们点击返回的时候我们发现并没有刷新,这个时候我们应该通过界面栈来实现A界面的刷新,下面是重点:

    1,首先,我们在A界面写一个函数,假如叫 changeData() ,注意这个函数并不是在onload里面,应该和onload是同级目录,代码块如下:

    changeData: function (historyArr) {
    let _this=this;
        this.loadList();
    },
    onLoad:function(){//................},

    2,其次,我们应该在B界面中添加若干个获取界面栈的代码块,举个例子吧,

    ①,我想在B界面初始化的时候就让A界面实现刷新,这个时候我们可以在B界面的onload里面添加代码块,如果B界面onload里面请求了函数,我们可以在请求的函数的

    success中调用代码块,具体代码块如下:解释已经说明

    //获取页面栈
    var pages = getCurrentPages();
    if (pages.length > 1) {
        //上一个页面实例对象
        var prePage = pages[pages.length - 2];
        //关键在这里,这里面是触发上个界面
        prePage.changeData(prePage.data.historyArr)// 不同的人里面的值是不同的,这个数据是我的,具体的你们要根据自己的来查看所要传的参数
    }
    ②,我想在界面B操作后界面A实现刷新,或者是界面的局部刷新,这个时候我们应该在B界面中的你想要的操做的函数执行完成后(具体的看情况)调用上面的代码块

    3,想要试试行不行,建议打印看下吧,A界面的函数加打印的数据的话触发是在B界面触发的,这点需要注意,别把console控制台清了;


    我们的原理就是通过界面栈获取上个界面,再获取到上个界面对应的函数,然后我们通过获取到上个界面的函数来触发上个界面的界面重新加载。

    展开全文
  • VUE 返回上一页 不刷新页面

    万次阅读 多人点赞 2018-10-31 12:35:03
     方法一(页面只刷新一次,任何页面跳转到这个页面都不刷新) 直接在你的router-view 标签外面包一个keep-alive 加include="组件名称" <keep-alive include="FileList"&g...

    网上有很多种方法,刚开始看的时候都感觉莫名奇妙。不知道他们说啥,理解能力有限,我梳理了一下。

    这里我介绍的主要是两种缓存某个页面的方法fang

     方法一(页面只刷新一次,任何页面跳转到这个页面都不刷新)

    直接在你的router-view  标签外面包一个keep-alive  加include="组件名称"
    
    <keep-alive  include="FileList">
         <router-view></router-view>
    </keep-alive>

    这时候匹配到的组件就会值加在一次。这个就比较简单,但能使用性不广。

     方法二(keep-alive与vue-router配合使用)

    配置路由的时候需要加  keepAlive: true  参数 (我把代码完整贴出来,有点长)

    import Vue from 'vue'
    import Router from 'vue-router'
    import Login from '@/components/Login/Login'
    import Regist from '@/components/Login/Regist'
    import P404 from '@/components/404/404'
    import Loading from '@/components/404/Loading'
    import Main from '@/components/Main'
    import User from '@/components/Basic/User' //用户
    import Role from '@/components/Basic/Role' //角色
    import Department from '@/components/Basic/Department'  //部门
    import RPermissions from '@/components/Basic/RPermissions'  //角色权限设置
    import DPermissions from '@/components/Basic/DPermissions'  //部门权限设置
    import RoleList from '@/components/Basic/RoleList'  //角色成员列表
    import DeparmentList from '@/components/Basic/DeparmentList'  //部门成员列表
    import LogLogin from '@/components/Basic/LogLogin'  //登录日志
    import LogOperation from '@/components/Basic/LogOperation'  //操作日志
    import LogFile from '@/components/Basic/LogFile'  //文件日志
    import Class from '@/components/Basic/Class'  //文件日志
    import SetFile from '@/components/Basic/SetFile'  //文件上传
    import FileAudit from '@/components/Basic/FileAudit'  //文件审核
    import FileList from '@/components/Basic/FileList'  //文件列表
    import FileView from '@/components/Basic/FileView'  //文件预览
    
    Vue.use(Router)
    
    export default new Router({
      mode: 'hash',//history
      routes: [
        {
          path: '/login',//登录页
          name: 'Login',
          component: Login
        },
        {
          path: '/regist',//注册页
          name: 'Regist',
          component: Regist
        },
        {
          path: '/',//首页
          name: 'Main',
          component: Main,
          redirect: '/Loading',//默认子路由
          meta: {
            requireAuth: true,  // 添加该字段,表示进入这个路由是需要登录的
            keepAlive: false, //此组件不需要被缓存
          },
          children: [
            {
              path: 'user',//用户管理
              component: User,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'role',//角色管理
              component: Role,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'department',//部门
              component: Department,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'rpermissions',//角色权限设置
              component: RPermissions,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'dpermissions',//部门权限设置
              component: DPermissions,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'rolelist',//角色成员列表
              component: RoleList,
              meta: {
                requireAuth: true,
              },
            },
            {
              path: 'deparmentList',//部门成员列表
              component: DeparmentList,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'loglogin',//登录日志
              component: LogLogin,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'logoperation',//操作日志
              component: LogOperation,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'logfile',//文件日志
              component: LogFile,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'class',//文件分类
              component: Class,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'setfile',//文件上传
              component: SetFile,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'fileaudit',//文件审核
              component: FileAudit,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'filelist',//文件列表
              component: FileList,
              meta: {
                requireAuth: true,
                keepAlive: true, // 此组件需要被缓存
              },
            },
            {
              path: 'fileview',//文件预览
              component: FileView,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            },
            {
              path: 'Loading',//等待页面
              component: Loading,
              meta: {
                requireAuth: true,
                keepAlive: false, //此组件不需要被缓存
              },
            }
          ]
        },
        { path: '*', component: P404 }
      ]
    })
    
    
    

     配置入口文件

            <keep-alive>
              <router-view v-if="$route.meta.keepAlive">
                <!-- 这里是会被缓存的视图组件,比如 Home! -->
              </router-view>
            </keep-alive>
    
            <router-view v-if="!$route.meta.keepAlive"></router-view>
              <!-- 这里是不被缓存的视图组件,比如 Edit! -->

    之后在 router.beforeEach  方法里面来动态修改 keepAlive  的值 (我的是这个代码是放在main.js里面的,这个就随你高兴了)

    router.beforeEach((to, from, next) => {
      iView.LoadingBar.start();//loadong 效果
    
      //进入登录页面的时候清除 token
      if(to.path === '/login' ){
        sessionStorage.removeItem("token", '');
        sessionStorage.removeItem("user_Data", '');
      }
    
    
      store.state.token = sessionStorage.getItem('token');//获取本地存储的token
    
      if (to.meta.requireAuth) {  // 判断该路由是否需要登录权限
        if (store.state.token !== "" && store.state.token !== null) {  // 通过vuex state获取当前的token是否存在
    
          //判断是否需要缓存
          if(to.path === '/filelist' && from.path === '/fileview'){
            to.meta.keepAlive = true;  // 让 列表页 缓存,即不刷新
            next();
          }else {
            to.meta.keepAlive = false;  // 让 列表页 即不缓存,刷新
            next();
          }
    
        }else {
          next({
            path: '/login',
            query: {redirect: from.fullPath}  // 将跳转的路由path作为参数,登录成功后跳转到该路由
          })
        }
    
      }else {
        next();
      }
    })

     我这里只判断  to.path === '/filelist' && from.path === '/fileview' (翻译从文一下这个代码,本路径是fileview,要跳转的路径是filelist,也就是从fileviewlu路径跳转到filelist,不刷新filelist页面)表页的时候缓存,外面的那些token什么的不知道的话,请看我的以前一篇博客传送门

    这里我们就可以愉快的使用之前缓存是数据了。

     

    展开全文
  • 第一种是在自己的app下点击返回的时候页面不刷新,这有可能是你们原生开发人员,只是关闭了当前的一个窗口,也就是说那个窗口是新开的。这种解决方案,老夫只能说找你们的原生开发吧。 第二种则是在微信、uc这类的...
  • Js实现返回上一页(页面 刷新不刷新

    万次阅读 热门讨论 2018-06-28 18:15:36
    返回上一页不刷新:1.a标签&lt;a href="&lt;a href="javascript :history.back(-1)"&gt;返回上一页&lt;/a&gt; 或 &lt;a href="javascript :;" onClick="...
  • 返回上一页面刷新不刷新的方法

    万次阅读 2018-05-28 22:42:52
    返回上一页面不刷新的方法:history.back()back() 方法可加载历史列表中的前一个 URL(如果存在)。调用该方法的效果等价于点击后退按钮或调用 history.go(-1)。返回上一页面刷新的方法:document.referrerreferrer ...
  • js返回上一个页面而不刷新页面

    千次阅读 2019-05-17 17:11:38
    go() 方法 语法:history.go(number|URL) 可加载历史列表中的某个具体的页面;参数可以是数字,使用的是要访问的 URL 在 History 的 URL 列表中的相对位置。(-1上一个页面,1前进一个页面)。...
  • 问题背景:有时候一些... 问题1、列表 - 详情页,返回不刷新重置;  问题2、再点其他菜单,再返回,需要刷新重置。  解决思路:  解决需求自然是想到vue的keep-alive去缓存组件,但是缓存组件有个不好的...
  • vue单页 使用keep-alive页面返回不刷新

    万次阅读 多人点赞 2018-02-26 15:23:47
    使用vue单页开发项目时遇到一个很恶心的问题:在列表页点击一条数据进入详情页,按返回返回列表页时页面刷新了,用户体验非常差啊!!!查阅了一下相关问题,使用解决这个问题,下面是我的使用心得。 是Vue的内置...
  • vue返回不刷新页面

    千次阅读 2019-09-20 09:18:53
    router里的index.js { //账套-基本信息管理 path: '/home/zhangtao/base_message_manage', name: '', component: resolve => require(['@/pages/zhangtao/b...
  • 返回刷新   <script>alert("恭喜您,操作成功!"); window.location.href=... </script><br />  返回不刷新  <script>alert("恭喜您,操作成功!"); window.history.back(-1); </script>
  • 解决ios上微信浏览器返回不刷新的问题 开始用的表单提交,返回参数就丢失,换成url跳转,popstate监听 (注释部分)ios10测试始终有问题,继续搜,最后用pageshow,pagehide完美解决(另外说一句:珍爱生命,远离...
  • vue,vue-router实现浏览器返回不刷新页面 当我们在写单页应用的时候,前端路由采用vue-router实现,如果从页面A跳到页面B,然后点浏览器返回返回到页面A时,页面会刷新。最近遇到一个需求,一个列表页,用户会...
  • 完美解决微信页面返回不刷新问题

    万次阅读 2018-08-24 11:43:46
    现在就遇到一个小问题,但是又很不好解决的一个问题:就是从一个页面跳到另外一个页面,然后再按虚拟键返回时(小米手机左右滑动),页面不刷新!可能有些场景为了性能可以去请求服务器,但是我这个问题是其他页面...
  • vue(路由返回不刷新)

    千次阅读 2018-06-14 17:48:11
    ,{ path: '/OrderDetails/:a/:b/:c/:d', name: 'OrderDetails', component: OrderDetails }//OrderDetails.vuesessionStorage.setItem("keys", window.location.pathname);//返回OrderDetails.vue ...
  • 后还是能达到ios返回刷新的功能,上述三种方式在安卓上均可实现返回刷新。 原因:iOS为了提升用户体验和浏览网页的效率,可能给浏览过的网页添加一个类似于快照的东西,使得页面返回不会重新刷新 解决方法: ...
  • 详细信息查看上面链接 var browserRule = /^.*((iPhone)|(iPad)|(Safari))+.*$/; if (browserRule.test(navigator.userAgent)) { window.onpageshow = function(event) { if (event.persiste
  • ![图片说明](https://img-ask.csdn.net/upload/201808/30/1535622234_398705.png) 微信公众号授权后 点返回不刷新JS 返回后变未登录状态
  • mui解决跳转到页面返回不刷新问题

    千次阅读 2017-09-23 09:45:50
    废话多说直接附上地址 http://ask.dcloud.net.cn/article/617
1 2 3 4 5 ... 20
收藏数 400,467
精华内容 160,186
关键字:

返回不刷新