Angular.js中angular-ui-router的简单实践


Posted in Javascript onJuly 18, 2017

开始之前

一些说明

  1. angular-ui-router的使用方法有很多,此文中,我们直接在控制器中使用,并完成一个简单的路由。
  2. 文中 Angular.js 的版本为 1.5.2

下载和安装

直接通过 bower 来安装 angular-ui-router

使用 bower 安装 angular-ui-router 之前,首先需要安装 npm 和 bower 。npm 是node.js的包管理工具,下载安装node.js,即可完成 npm 的安装

通过 npm 安装 bower (如果未安装 bower):

npm install -g bower

安装 angular-ui-router

bower install --save angular-ui-router

使用 angular-ui-router

首先要在 angular.module 方法中,注入 angular-ui-router

var app = angular.module('myApp',['ui.router']);

定义路由规则

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

 /**
  * $stateProvider 提供的 state 方法包含两个参数
  * @param 路由名称 String
  * @param 路由规则 Object
  * 此方法用来定义路由名称和规则
  */
 $stateProvider.state('user' , {
  url : "/user/:uid",
  controller : 'MyCtrl'
 });
 
 // 将未定义的路由重定向
 $urlRouterProvider.otherwise("/");
});

在控制器中使用

app.controller("MyCtrl" , function($scope , $state){
 // 监听路由变化
 $scope.$on('$stateChangeSuccess' , function(){
  var route_name = $state.current.name; // 获取当前路由名称
  if(route_name === 'user'){
   var uid = $state.params.uid // 获取路由参数
   console.log(uid);
  }
 });
 
 // 主动路由跳转:路由名称,路由参数
 $state.go('user' , {'uid' : 88} );
});

其他

在 html 中,用 <a> 标签指定路由的写法为:

<a href="#/user/88" rel="external nofollow" >Tom</a>

angular.js的路由,在浏览器url地址栏以这样的形式展现:www.example.com/my/page#/user/88

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
Dec 22 Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 Javascript
ExtJS GTGrid 简单用户管理
Jul 01 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
Jan 16 Javascript
JavaScript设置body高度为浏览器高度的方法
Feb 09 Javascript
javascript中indexOf技术详解
May 07 Javascript
JS实现自动变化的导航菜单效果代码
Sep 09 Javascript
vue模板语法-插值详解
Mar 06 Javascript
Bootstrap图片轮播效果详解
Oct 17 Javascript
node.js爬取中关村的在线电瓶车信息
Nov 13 Javascript
JS实现可切换图片的幻灯切换效果示例
May 24 Javascript
JavaScript实现鼠标经过表格某行时此行变色
Nov 20 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 #jQuery
jquery版轮播图效果和extend扩展
Jul 18 #jQuery
Vue学习笔记进阶篇之vue-cli安装及介绍
Jul 18 #Javascript
深入解析Vue 组件命名那些事
Jul 18 #Javascript
js实现本地图片文件拖拽效果
Jul 18 #Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
Jul 18 #Javascript
js实现移动端导航点击自动滑动效果
Jul 18 #Javascript
You might like
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
PHP获取Exif缩略图的方法
2015/07/13 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
JQuery 常用操作代码
2010/03/14 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
jquery在启动页面时,自动加载数据的实例
2018/01/22 jQuery
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
vue响应式系统之observe、watcher、dep的源码解析
2019/04/09 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
python实现用于测试网站访问速率的方法
2015/05/26 Python
Python字典简介以及用法详解
2016/11/15 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
Django 重写用户模型的实现
2019/07/29 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
英国第一家领先的在线处方眼镜零售商:Glasses Direct
2018/02/23 全球购物
个人自我鉴定范文
2013/10/04 职场文书
工程项目建议书范文
2014/03/12 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
学校安全防火方案
2014/06/07 职场文书
Java Spring读取和存储详细操作
2022/08/05 Java/Android