javascript - angular单页面后退如何传值

查看:87
本文介绍了javascript - angular单页面后退如何传值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

小弟用angular开发单页面应用有一段时间了,但是目前遇见了一个关于优化的问题,就是关于后退是否能否传值的问题

有操作人员反映说分页的页数不会记录。点击查看或者新增的时候页面跳过去了点击返回后当前分页就变成了1.然后我当初想了想优化下,应该不难,就是离开当前页面的时候将当前页面的分页值传到其他页面,点击返回的话在传回来,结果做起来后懵逼了,他们的返回是点回退。我顿时不知道怎么能达到他们的要求。
比如这个基础商品页面,有4个跳转路由的链接,新增,修改,两个查看。他们想点击这4个路由离开这个页面返回的时候分页能记录。但是如果他们不点击返回点击其他页面在点到基础商品导航后,希望回到1.
如果是1个我认为我还能用全局判断一下写一下。但是因为每个页面都有分页,这样的想法就不行,结构和全局变量会很多,特别多。
所以我想了解下,angular这样的框架有没有所谓的后退传值的方法呢?
为了了解这个功能到底算不算细致到极致,便上了淘宝上面尝试了下,我将某个商品链接的target改成了当前页面跳转页面。但是点击返回的时候他们竟然还真的记录了。刷新了也能记录当前分页。
不得不说他们的优化细致非常的好。
敢问angular的大神们,你们遇见过这种问题吗?后退能否传值呢?

解决方案

 var is = true;
    //分页点击事件
    vm.pageChanged = function(){
        if(is){
            var page = $location.search().page;
            typeof(page)=="undefined" ? vm.pageint = 1:vm.pageint=page;
            is = false; 
        }
       vm.skip = (vm.pageint-1)*12;
       info_list(vm.seid);
       $location.search('page',vm.pageint)
       console.log(vm.pageint)
    }

我使用的是ui-bootstrap里的分页组件。这个是它的事件。这个is的变量主要是为了区分是否第一次加载。因为这个组件的第一次会自动运行一次。和分页的事件冲突了。

这篇关于javascript - angular单页面后退如何传值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆