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 相关文章推荐
关于JavaScript中var声明变量作用域的推断
Dec 16 Javascript
jquery struts 验证唯一标识(公用方法)
Mar 27 Javascript
jquery制作属于自己的select自定义样式
Nov 23 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
Jan 21 Javascript
AngularJS基础 ng-paste 指令简单示例
Aug 02 Javascript
fullCalendar中文API官方文档
Feb 07 Javascript
jQuery实现移动端Tab选项卡效果
Mar 15 Javascript
jQuery实现动态删除LI的方法
May 30 jQuery
JS实现批量上传文件并显示进度功能
Jun 27 Javascript
Angular网络请求的封装方法
May 22 Javascript
基于webpack4+vue-cli3项目实现换肤功能
Jul 17 Javascript
在vue中配置不同的代理同时访问不同的后台操作
Sep 11 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
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
PHP 批量删除 sql语句
2009/06/05 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
php实现字符串首字母大写和单词首字母大写的方法
2015/03/14 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
js中if语句的几种优化代码写法
2011/03/12 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
JavaScript中使用Math.floor()方法对数字取整
2015/06/15 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
Python把图片转化为pdf代码实例
2020/07/28 Python
Python爬取网页信息的示例
2020/09/24 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
企业领导班子四风对照检查材料
2014/09/27 职场文书
优秀教师单行材料
2014/12/16 职场文书
档案管理员岗位职责
2015/02/12 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
HTTP中的Content-type详解
2022/01/18 HTML / CSS