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如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  Firefox Developer Edition开发者版本入口  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  PHP正则匹配日期和时间(时间戳转换)的实例代码  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  如何在阿里云虚拟主机上快速搭建个人网站?  phpredis提高消息队列的实时性方法(推荐)  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  Laravel怎么连接多个数据库_Laravel多数据库连接配置  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  新三国志曹操传主线渭水交兵攻略  Laravel怎么清理缓存_Laravel optimize clear命令详解  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  如何构建满足综合性能需求的优质建站方案?  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  利用vue写todolist单页应用  如何快速搭建高效简练网站?  如何在云指建站中生成FTP站点?  Bootstrap CSS布局之列表  如何用景安虚拟主机手机版绑定域名建站?  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  浅谈Javascript中的Label语句  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  如何在IIS中新建站点并解决端口绑定冲突?  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  独立制作一个网站多少钱,建立网站需要花多少钱?  如何在IIS中新建站点并配置端口与物理路径?  如何快速搭建安全的FTP站点?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  制作公司内部网站有哪些,内网如何建网站?  如何在建站之星绑定自定义域名?  EditPlus中的正则表达式 实战(1)  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Laravel如何记录自定义日志?(Log频道配置)