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 相关文章推荐
js 复制或插入Html的实现方法小结
May 19 Javascript
基于jquery的点击链接插入链接内容的代码
Jul 31 Javascript
jquery选择器之属性过滤选择器详解
Jan 27 Javascript
原生js结合html5制作简易的双色子游戏
Mar 30 Javascript
浅谈javascript中的DOM方法
Jul 16 Javascript
jQuery实现动画效果circle实例
Aug 06 Javascript
JS中改变this指向的方法(call和apply、bind)
Mar 26 Javascript
JavaScript_object基础入门(必看篇)
Jun 13 Javascript
使用Math.max,Math.min获取数组中的最值实例
Apr 25 Javascript
基于vue实现swipe分页组件实例
May 25 Javascript
使用vue中的混入mixin优化表单验证插件问题
Jul 02 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
Sep 27 jQuery
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编程每天必学之验证码
2016/03/03 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
对于this和$(this)的个人理解
2013/09/08 Javascript
jquery attr方法获取input的checked属性问题
2014/05/26 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
Python性能优化技巧
2015/03/09 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
社团招新策划书
2014/02/04 职场文书
《大海那边》教学反思
2014/04/09 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
超越自我演讲稿
2014/05/21 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
生日祝酒词大全
2015/08/10 职场文书
Win11 25163.1010更新补丁KB5016904推送,测试服务验证管道(附更新修复汇总)
2022/07/23 数码科技
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python