博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angular 单页应用程序实现浏览器后退按钮跳转到前一页面,优化用户体验
阅读量:6623 次
发布时间:2019-06-25

本文共 1901 字,大约阅读时间需要 6 分钟。

核心是通过 点击

首先写出来一个静态页面:

这里是导航栏

  • 11111
  • 22222
  • 33333

第一个第一个第一页

上一页
下一页

第二页第二页第二页

上一页
下一页

第三页第三页第三页

上一页
下一页

上面这个就是一个简单的静态页面,大体上的的效果是这样的:

但是我们三个页面肯定不能都显示出来对啊,我们的想法是,一开始是第一页,然后是我点击一次下一页,第一页消失,第二页出现。
所以我们可以在【上一页】【下一页】的a 标签上 更新 $scope. step

上面的例子,只要一点击 【上一页】【下一页】,$scope.step就会变成1或者3,反正不等于2,所以本div(在这里表示一页)就会隐藏,和step的值相等的页面就会出现;

简单来说,href="#" 是用来 修改浏览器导航栏内的url ,而ng-click=" step=1 "则是更新步骤,控制哪些东西可以显示

到目前为止的,我们的代码是:

这里是导航栏

第一个第一个第一页

上一页
下一页

第二页第二页第二页

上一页
下一页

第三页第三页第三页

上一页
下一页

可以实现的功能是,我点击上边的导航栏,和上一页下一页按钮,都可以实现跳转。点击后退按钮的功能没有实现

下面是我们的关键问题,如何点击浏览器的后退按钮,页面会后退?

$scope.$watch(function () {

var url=$location.path();
return url;
},function (v) {
var stepnum=v.charAt(v.length-1);
$scope.step=stepnum;
})

通过监听 $location 的path( )

1. $watch的三个参数,newValue, Oldvalue, scope2. $location 对象都有啥api ,属性?方法?常在什么时候用? path()  和 哈希值有什么区别? window.location 和$location有什么区别3. 截取字符串的最后一个

字符串的方法有哪些?如何截取字符串的最后一个?

charAt( 2 );
charAt( str.length-1 );

substr(从第几个开始截取,一共要截取几个 )

substr( str.length-1, 1 );

split( "要按照什么截取的字符" )

var arr=str.split("")
arr.splice(arr.length-1,1 )

$location都有哪些功能?

它是干什么的?

$location解析地址栏中的URL(基于window.location),让你在应用代码中能获取到。改变地址栏中的URL会反应$location服务中,反之亦然。
$location服务:

* 暴露当前地址栏的URL*     * 获取并监听URL。    * 改变URL。* 当出现以下情况时同步URL*     * 改变地址栏    * 点击了后退按钮(或者点击了历史链接)    * 点击了一个链接* 一系列方法来获取URL对象的具体内容用(protocol, host, port, path, search, hash).formatDate

什么时候用$location?

1. 对url的改变做出响应2. 你想改变当前的url时候

$location对象是需要配置的,在app.config里面进行配置;

app.config(function($locationProvider){
$locationProvider.html5Mode(false).hashPrefix('!');
})

转载于:https://www.cnblogs.com/dujuncheng/p/6439277.html

你可能感兴趣的文章
Python 列表 min() 方法
查看>>
C语言中 Float 数据结构的存储计算
查看>>
HSF源码阅读
查看>>
1.Flask URL和视图
查看>>
【死磕jeesite源码】Jeesite配置定时任务
查看>>
MFC更换窗口图标
查看>>
[三]JavaIO之IO体系类整体设计思路 流的概念以及四大基础分类
查看>>
Java 读取某个目录下所有文件、文件夹
查看>>
朱晔和你聊Spring系列S1E2:SpringBoot并不神秘
查看>>
2013年度第一期测试沙龙 PPT下载
查看>>
我的Java后端书架 (2016年暮春3.0版)
查看>>
两行代码搞定UITableView无数据无网络显示-b
查看>>
Microsoft Speech SDK开发包 使用
查看>>
Android应用开发基础篇(2)-----Notification(状态栏通知)
查看>>
10 款非常棒的CSS代码格式化工具推荐
查看>>
SQL Server 临时表的删除
查看>>
程序8
查看>>
【原】WebRebuild深圳站的一点感悟
查看>>
QT Basic---Widgets<1>
查看>>
Android开发10.3:UI组件GridView网格视图
查看>>