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 相关文章推荐
JS 实现Json查询的方法实例
Apr 12 Javascript
防止登录页面出现在frame中js代码
Jul 22 Javascript
jQuery实现的输入框选择时间插件用法实例
Feb 28 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
Jun 10 Javascript
基于javascript实现文字无缝滚动效果
Mar 22 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
May 17 Javascript
jQuery+ajax+asp.net获取Json值的方法
Jun 08 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
Jun 20 Javascript
老生常谈 关于JavaScript的类的继承
Jun 24 Javascript
微信小程序promsie.all和promise顺序执行
Oct 27 Javascript
详解vue-admin和后端(flask)分离结合的例子
Feb 12 Javascript
JavaScript分页组件使用方法详解
Jul 26 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中redis的用法深入解析
2014/02/20 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
PHP面向对象精要总结
2014/11/07 PHP
php微信开发自定义菜单
2016/08/27 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
JavaScript中创建对象的模式汇总
2016/04/19 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
Python实现的下载网页源码功能示例
2017/06/13 Python
用Python实现数据的透视表的方法
2018/11/16 Python
python之线程通过信号pyqtSignal刷新ui的方法
2019/01/11 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
python中time、datetime模块的使用
2020/12/14 Python
用css3写出气球样式的示例代码
2017/09/11 HTML / CSS
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
民政局副局长民主生活会个人整改措施
2014/10/04 职场文书
学习十八大标语
2014/10/09 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书