angularjs ui-router中路由的二级嵌套


Posted in Javascript onMarch 10, 2017

关于ui-router中嵌套路由中的问题

1.首先我们的页面层次为

angularjs ui-router中路由的二级嵌套 

其中Main.html是我们的主页,我们要在main.html中对路由进行统一的管理。

main.html页面中有一个ui-view在这里将填充PageTab.html,同时被填充的PageTab.html中也有一个ui-view

这样就实现了嵌套路由。

最终效果:

angularjs ui-router中路由的二级嵌套 

当我们点击Page-1时出现的是Page1中的内容,同理点击Page-2。

下面是实际的代码:

Main.html

<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/angular.min.js"></script>
<script src="js/angular-ui-router.js"></script>
<script>  
</script>
</head>
<body>
<h3>Main page</h3>
  <div>
    <div ui-view></div>
  </div>
<script>
  angular.module("myApp",["ui.router"])
  .config(function($stateProvider){
    $stateProvider
    .state("PageTab",{
      url:"",
      templateUrl:"PageTab.html"
    })
    .state("PageTab.Page1",{
      url:"/Page1",
      templateUrl:"Page1.html"
    })
    .state("PageTab.Page2",{
      url:"/Page2",
      templateUrl:"Page2.html"
    })
  })
</script>
</body>
</html>

PageTab.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>PageTab</h2>
  <div>
     <span style="width:100px" ui-sref=".Page1"><a href="">Page-1</a></span>
     <span style="width:100px" ui-sref=".Page2"><a href="">Page-2</a></span>
  </div>
  <div ui-view=""></div>
</body>
</html>

Page1.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Page1</title>
</head>
<body>
  <h2>Page1</h2>
</body>
</html>

Page2.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Page2</title>
</head>
<body>
  <h2>Page2</h2>
</body>
</html>

以上是全部的页面代码,Main.html中js库需要手动导入。

下面我们重点看Main.html中对路由统一管理的部分也就是这段js代码

<script>
  angular.module("myApp",["ui.router"])
  .config(function($stateProvider){
    $stateProvider
    .state("PageTab",{
      url:"",
      templateUrl:"PageTab.html"
    })
    .state("PageTab.Page1",{
      url:"/Page1",
      templateUrl:"Page1.html"
    })
    .state("PageTab.Page2",{
      url:"/Page2",
      templateUrl:"Page2.html"
    })
  })
</script>

一共三个状态:

第一个状态

.state("PageTab",{
      url:"",
      templateUrl:"PageTab.html"
    })

在第一个中我们定义了初始状态名为PageTab,url状态为空,这时候在母版中将会在ui-view中填充PageTab.html这个页面。

第二个状态

.state("PageTab.Page1",{
      url:"/Page1",
      templateUrl:"Page1.html"
    })

我们把这个状态名字命名为PageTab.Page1 这时候的路由将会交给PageTab来处理,即在PageTab.html页面中的ui-view中填充Page1.html中的内容。同理如果state命名为PageTab.Page2 那么处理它的就会是PageTab.html这个页面。

希望本文所述对你有所帮助,angularjs ui-router中路由的二级嵌套就给大家介绍到这里了。希望大家继续关注我们的网站!想要学习angularjs可以继续关注本站。

Javascript 相关文章推荐
用jQuery模拟页面加载进度条的实现代码
Dec 19 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
Apr 02 Javascript
JS通过ajax动态读取xml文件内容的方法
Mar 24 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
Apr 30 Javascript
angularjs客户端实现压缩图片文件并上传实例
Jul 06 Javascript
原生Javascript插件开发实践
Jan 09 Javascript
js实现图片360度旋转
Jan 22 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
Mar 01 Javascript
Vue键盘事件用法总结
Apr 18 Javascript
mpvue 单文件页面配置详解
Dec 02 Javascript
JavaScript设计模式之责任链模式实例分析
Jan 16 Javascript
Vue实现手机扫描二维码预览页面效果
May 28 Javascript
AngularJS ui-router (嵌套路由)实例
Mar 10 #Javascript
微信小程序手势操作之单触摸点与多触摸点
Mar 10 #Javascript
Web纯前端“旭日图”实现元素周期表
Mar 10 #Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 #Javascript
jQuery实现扑克正反面翻牌效果
Mar 10 #Javascript
AngularJS之页面跳转Route实例代码
Mar 10 #Javascript
Angular多选、全选、批量选择操作实例代码
Mar 10 #Javascript
You might like
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
微信支付的开发流程详解
2016/09/13 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
javascript 写类方式之五
2009/07/05 Javascript
JS input 数字验证代码
2009/07/30 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
Python2.7读取PDF文件的方法示例
2017/07/13 Python
Python OpenCV获取视频的方法
2018/02/28 Python
Python日志模块logging基本用法分析
2018/08/23 Python
python开启debug模式的方法
2019/06/27 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
2019/08/12 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
python绘制趋势图的示例
2020/09/17 Python
html5基础标签(html5视频标签 html5新标签用法)
2013/12/30 HTML / CSS
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
自我评价中英文语句
2013/11/30 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
文明工地标语
2014/06/16 职场文书
大专生求职信
2014/06/29 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
初中差生评语
2014/12/29 职场文书
班主任经验交流心得体会
2015/11/02 职场文书