anglar ui-route 学习笔记

一、页面导航实现(不分层)

1、新建一个主页面,如main.html,引入angular.min.js,angular-ui-router.min.js (关于angularjs的一些插件可以上"http://www.bootcdn.cn/angular-ui-router/" 引入 ‘/‘后面是对应的插件名,版本可以自选);

<script src="angular.min.js"></script>
<script src="//cdn.bootcss.com/angular-ui-router/0.2.15/angular-ui-router.min.js"></script>

2、内容展示 ui-sref对应state   href =""会自动查找链接   ui-view内容展示容器位置

<!--ui-sref 对应 state规则
href="" 会获取url
ui-view 内容展示容器-->
<nav>
    <div><a href="" ui-sref="page1">首页</a></div>
    <div><a href="" ui-sref="page2">新闻</a></div>
    <div><a href="" ui-sref="page3">科技</a></div>
    <div ui-view=""></div>
</nav>

3、路由设置js代码

var myApp = angular.module("myApp", [‘ui.router‘]); //定义angular模块,注入ui.router模块

myApp.config(function($stateProvider, $urlRouterProvider) {

    $urlRouterProvider.when("", "/page1");  //默认路径 ‘/page1‘

    $stateProvider
        .state("page1", {   //对应ui-sref
            url: "/page1",  //路径
            templateUrl: "page1.html"   //对应模板
        })
        .state("page2", {
            url: "/page2",
            templateUrl: "page2.html"
        })
        .state("page3", {
            url: "/page3",
            templateUrl: "page3.html"
        });

});

4、对应page1.html,page2.html,page3.html加上需要的内容就可以了。是不是很简单呢?

二、嵌套的ui-router(借助一个母版文件实现路由分层) 这里把真正的内容渲染ui-view放到了pageTab.html文件中,路径相当都变成/pageTab/pagex..

1、新建main.html文件,引入对应的angularjs相关文件,并写好内容容器;

<div ui-view=""></div>

2、新建母版文件pageTab.html,在母版文件里写上对应的a链接,并提供内容容器ui-view;

<!--嵌套视图外层模板 ui-sref=".xxx" ‘.‘表示下一级 这里为pageTab.page1 对应state也是pageTab.page1   内容容器在‘/pageTab‘路径下,这里ui-view渲染的内容都是/pageTab下的二级目录-->
<div>
    <div>
        <span style="width:100px"><a href="" ui-sref=".page1">Page-1</a></span>
        <span style="width:100px"><a href="" ui-sref=".page2">Page-2</a></span>
        <span style="width:100px"><a href="" ui-sref=".page3">Page-3</a></span>
    </div>
    <div>
        <div ui-view=""/>
    </div>
</div>

3、路由设置的js代码

var myApp = angular.module("myApp", [‘ui.router‘]); //新建angular模块,注入ui.router模板

myApp.config(function ($stateProvider, $urlRouterProvider) {

    $urlRouterProvider.when("", "/pageTab");    //默认路径

    $stateProvider
        .state("pageTab", {
            url: "/pageTab",    //路径 ‘/pageTab‘ 默认值
            templateUrl: "pageTab.html"
        })
        .state("pageTab.page1", {   //
            url:"/page1",   // 这里"根目录"指向/pageTab 此处为二级目录‘/pageTab/page1‘
            templateUrl: "page1.html"
        })
        .state("pageTab.page2", {
            url:"/page2",
            templateUrl: "page2.html"
        })
        .state("pageTab.page3", {
            url:"/page3",
            templateUrl: "page3.html"
        });
});

4、运行main.html,自动重定向到"/pageTab",展示出三个a链接选项,点击a链接,会进入二级目录下,如"/pageTab/page1"。

在此记录下ui-router一些简单用法,加深理解记忆,也方便以后使用。

				
时间: 2024-10-27 19:22:58

anglar ui-route 学习笔记的相关文章

Route学习笔记之Area的Route注册

前一段时间接触了MVC的Area可以将模型.控制器和视图分成各个独立的节点.分区之后,区域路由注册的需求就出来了. 默认的 在MVC项目上右键添加区域之后,在文件夹下会自动添加一个FolderNameAreaRegistration.cs的文件. public class AdminAreaRegistration : AreaRegistration { public override string AreaName { get { return "Admin"; } } publi

UI:学习笔记

开始写一点笔记,以后复习用 (一)类扩展(class extension,匿名分类) @interface ViewController () { //成员变量 } //方法声明 @end (二)随机数生成 1. int iconIndex = arc4random();    //会产生任意正整数和0 2. int iconIndex = arc4random_uniform(100);  // 会产生0~99的整数 (三)

Route学习笔记

前言 UrlRoutingModule.class:这块的代码关联了上一篇中路由部分的一个详细说明 一:Route的讲解 1. 路由模板匹配 添加路由: MapRoute 剔除的路由:IgnoreRoute 2. 简单看mapRoute 和IgnoreRoute的源码. 1 RouteTable 2 => Routes [RouteCollection] 3 => Route [就是我们定义的路由模板] 4 ① 构建: [MvcRouteHandler] 5 Route item = new

ASP.NET Route学习笔记(1)

注:本文很多部分知识来自于蒋金楠老师的<ASP.NET MVC框架解密>,本人写纯粹是用作个人笔记,假如侵犯了您的权益,请联系我,我立刻删除 在ASP.NET MVC中URL路由通过对请求的URL进行解析,得到以Controller和Action名称为核心的路由数据.但是URL路由系统并不是专属于ASP.NET MVC的,而是直接建立在ASP.NET上,在System.Web.Routing 命名空间下,所以WebForm也可以使用路由对请求地址与物理文件的分离. 好的Url应该满足如下条件:

element ui Angular学习笔记(一)

1.element ui安装 npm i --save element-angular 2.Angular-cli引入 引入后需要开启ElModule.forRoot(),也可以单独引入某个组件入ElChildModules.ElButton 3.指令 [el-class] 如:<el-alert [el-class]="'myClass'">text</el-alert> .myClass { >div { color: #ccc; } } 在自己的@c

Android:日常学习笔记(8)———探究UI开发(5)

Android:日常学习笔记(8)---探究UI开发(5) ListView控件的使用 ListView的简单用法 public class MainActivity extends AppCompatActivity { private String[] data={"Apple","Banana","Orange","Watermelon","Pear","Grape","

UI学习笔记---第一天

一.iOS概述 iOS是Apple公司的移动操作系统,主要?用于iPhone.iPad.iPad Mini.iPod Touch等移动产品. 借助iOS,我们可以开发视频类.美图类.新闻类.?音乐类.团购类.电商类.阅读类.出?行类.?生活服务类.游戏类等应?用程序. 除此之外,iOS还可以与外部设备通信,开发出更多改变?活的产品,?比 如:智能家居(iOS App控制电视.空调等).健?产品(将人体健康 状况通过App直观的展现出来)等. 二.UI概述 UI(User Interface):?

UI学习笔记---第十四天数据持久化

一.沙盒机制 每个应用程序位于文件系统的严格限制部分 每个应用程序只能在为该程序创建的文件系统中读取文件 每个应用程序在iOS系统内斗放在了统一的文件夹目录下 沙盘路径的位置 1. 通过Finder查找程序沙盘相对路径 ~/Library/Application Support/iPhone Simulator 2. 通过代码查找程序沙盘相对路径 NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory,NSSearc

Android:日常学习笔记(8)———探究UI开发(2)

Android:日常学习笔记(8)---探究UI开发(2) 对话框 说明: 对话框是提示用户作出决定或输入额外信息的小窗口. 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件. 提示: Dialog 类是对话框的基类,但您应该避免直接实例化 Dialog,而是使用下列子类之一: AlertDialog此对话框可显示标题.最多三个按钮.可选择项列表或自定义布局. DatePickerDialog 或 TimePickerDialog此对话框带有允许用户选择日期或时间的预定义 UI

UI学习笔记---第十天UITableView表视图编辑

UITableView表视图编辑 表视图编辑的使用场景 当我们需要手动添加或者删除某条数据到tableView中的时候,就可以使用tableView编辑.比如微信 扣扣中删除和某人的通话 当我们需要手动调整单元格的顺序时,就可以通过tableView移动,移动单元格到指定位置 代理AppDelegate.m中代码 #import "AppDelegate.h" #import "RootViewController.h" @implementation AppDel