博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angularJs学习笔记-路由
阅读量:6902 次
发布时间:2019-06-27

本文共 1961 字,大约阅读时间需要 6 分钟。

1.angular路由介绍

  angular路由功能是一个纯前端的解决方案,与我们熟悉的后台路由不太一样。

  后台路由,通过不同的 url 会路由到不同的控制器 (controller) 上,再渲染(render)到 html。

  angular前端路由,需要提前对指定的 ng-app   定义路由规则 (routeProvider),  通过不同的 url 告诉 ng-app 加载哪个 html ,再渲染到 ng-app 的视图 ng-view 中。

 

 

 

2.安装

  引入 angular-route.js就可以了

  

 

 

 

3.在模块中声明注入对ngRoute的依赖

var app = angular.moudule('app',['ngRoute']);

  

 

 

4.定义路由表

     两种方法 :

  (1)when(path,route)

      path : string类型,表示该路由规则所匹配的路径,它将与地址栏内容($location.path)值进行匹配。   如果需要匹配参数,可以写成 /views/:name,参数保存在$routeParams

      route : 是一个object,用来指定当path匹配后的一系列配置项,主要有这几个参数:

          a: controller // function或者string类型,在当前模板上执行controller函数,生成新的scope

          b: controllerAs // string类型,为controller指定别名

          c: template // function或者string类型,视图所用的模板,这部分将被 ngView 引用

          d: templateUrl // string或function类型,当视图模板为单独的html文件或是使用了<script type="text/ng-temp">时使用

          e: resolve // 指定当前controller所依赖的其他模块

          f: redireactTo // 重定向地址

  (2)otherwise(params)

   当对应路径匹配不到时,我们可以配置一个redirectTo参数,让它定向到404或者首页

var app = angular.moudule('app',['ngRoute']).config(function($routeProvider){      $routeProvider      .when('/',{        templateUrl : 'views/main.html',        contorller : 'mainCtrl'      })      .when('/day/:id',{        templateUrl : 'views/day.html',        contorller : 'dayCtrl'      })      .otherwise({        redirectTo : '/'      })    })

 

 

 

 

5.在主视图模板中指定加载子视图的位置

  我们的单页面程序都是局部刷新的,这个局部就是 ng-view

  

 

 

 

6.我仿照简书的样式做了个响应式的文章发布系统,给大家分享下

  (1)游览器效果

    a.文章列表页

  

    b.点击“写文章”

  

 

    c.点击文章标题,进入详细页

  

 

  d.手机上效果也感觉不错

    

  

 

 

 

 

(2)源码非常简单

 

      
文章发布系统

 

  

转载于:https://www.cnblogs.com/cynthia-wuqian/p/5213291.html

你可能感兴趣的文章
【译】提高 JavaScript 开发效率的高级 VSCode 扩展!
查看>>
npm script 钩子的使用
查看>>
产品经理爬取《人人都是产品经理》的5万篇文章,学习如何通过数据找到业务推进重点...
查看>>
基于Git生成开发周报或项目版本change log
查看>>
小程序自定义音频组件,带滚动条,IOS循环失效问题
查看>>
junit测试方法执行顺序
查看>>
Swift开发之粒子动画的实现
查看>>
我学Java我傲娇
查看>>
(十六)spring cloud微服务分布式云架构-集成项目简介
查看>>
挖矿蠕虫肆虐,详解云防火墙如何轻松“制敌”
查看>>
java类实例化内存过程与面向对象特征
查看>>
Linux -- Samba之客户端访问(Linux和windows)
查看>>
centos下的ssdb的安装和使用
查看>>
版本控制系统SVN的分支开发
查看>>
2010下半年网络工程师考证上下午试题【答案】
查看>>
八个Docker的真实应用场景
查看>>
××× Client通过公司GW连接连接internet
查看>>
iis5和Apache2.2共享80端口
查看>>
haproxy反向代理服务器简述
查看>>
mysql主从同步
查看>>