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

发布时间 - 2026-01-11 00:06:57    点击率:

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

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

 

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

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

这样就实现了嵌套路由。

最终效果:

 

当我们点击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可以继续关注本站。


# ui  # router  # 二级路由  # 嵌套  # 嵌套路由  # 详解AngularJS1.6版本中ui-router路由中/#!/的解决方法  # AngularJS ui-router (嵌套路由)实例  # angular基于路由控制ui-router实现系统权限控制  # 浅析angularJS中的ui-router和ng-grid模块  # Angular路由ui-router配置详解  # 中对  # 命名为  # 的是  # 这时候  # 就会  # 在这里  # 第一个  # 将会  # 中有  # 对你  # 会在  # 要在  # 这段  # 第二个  # 希望大家  # 当我们  # 中也  # 就给  # 所述  # 即在 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 高端网站建设与定制开发一站式解决方案 中企动力  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  公司门户网站制作流程,华为官网怎么做?  Java类加载基本过程详细介绍  Laravel如何配置Horizon来管理队列?(安装和使用)  Bootstrap整体框架之CSS12栅格系统  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  Laravel如何实现API资源集合?(Resource Collection教程)  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  如何在Ubuntu系统下快速搭建WordPress个人网站?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Laravel PHP版本要求一览_Laravel各版本环境要求对照  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  C++用Dijkstra(迪杰斯特拉)算法求最短路径  php485函数参数是什么意思_php485各参数详细说明【介绍】  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Java遍历集合的三种方式  如何用低价快速搭建高质量网站?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  如何正确下载安装西数主机建站助手?  ,在苏州找工作,上哪个网站比较好?  如何在宝塔面板中创建新站点?  如何在IIS中新建站点并配置端口与IP地址?  详解jQuery中的事件  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  如何为不同团队 ID 动态生成多个独立按钮  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  微信h5制作网站有哪些,免费微信H5页面制作工具?  js实现获取鼠标当前的位置  PHP 500报错的快速解决方法  Laravel如何使用Eloquent进行子查询  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  Laravel如何使用Telescope进行调试?(安装和使用教程)  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  如何在Windows服务器上快速搭建网站?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  Android仿QQ列表左滑删除操作  南京网站制作费用,南京远驱官方网站?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南