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 相关文章推荐
jQuery1.9.1针对checkbox的调整方法(prop)
May 01 Javascript
实现js保留小数点后N位的代码
Nov 13 Javascript
生成二维码方法汇总
Dec 26 Javascript
JavaScript动态添加style节点的方法
Jun 09 Javascript
浅谈jQuery为哪般去掉了浏览器检测
Aug 29 Javascript
canvas的神奇用法
Feb 03 Javascript
vue打包的时候自动将px转成rem的操作方法
Jun 20 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
Sep 19 Javascript
小程序数据通信方法大全(推荐)
Apr 15 Javascript
微信小程序实现录音时的麦克风动画效果实例
May 18 Javascript
Vue computed 计算属性代码实例
Apr 22 Javascript
JS实现无限轮播无倒退效果
Sep 21 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 str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
Yii全局函数用法示例
2017/01/22 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
Python实现定时精度可调节的定时器
2018/04/15 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
Python英文文章词频统计(14份剑桥真题词频统计)
2019/10/13 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
一套比较完整的软件测试人员面试题
2012/05/13 面试题
学生党员思想汇报
2013/12/28 职场文书
文秘应聘自荐书范文
2014/02/18 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
python flask开发的简单基金查询工具
2021/06/02 Python
Python实现socket库网络通信套接字
2021/06/04 Python
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫