zoukankan      html  css  js  c++  java
  • angular 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="100px"><a href="" ui-sref=".page1">Page-1</a></span> <span style="100px"><a href="" ui-sref=".page2">Page-2</a></span> <span style="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一些简单用法,加深理解记忆,也方便以后使用。

    
    
  • 相关阅读:
    1046 Shortest Distance (20 分)(模拟)
    1004. Counting Leaves (30)PAT甲级真题(bfs,dfs,树的遍历,层序遍历)
    1041 Be Unique (20 分)(hash散列)
    1036 Boys vs Girls (25 分)(查找元素)
    1035 Password (20 分)(字符串处理)
    1044 Shopping in Mars (25 分)(二分查找)
    onenote使用小Tip总结^_^(不断更新中...)
    1048 Find Coins (25 分)(hash)
    三个故事
    领导者的举止
  • 原文地址:https://www.cnblogs.com/lw9413/p/4998123.html
Copyright © 2011-2022 走看看