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 相关文章推荐
10个新的最有前途的JavaScript框架
Mar 12 Javascript
实现png图片和png背景透明(支持多浏览器)的方法
Sep 08 Javascript
IE6、IE7中获取Button元素的值的bug说明
Aug 28 Javascript
jquery中添加属性和删除属性
Jun 03 Javascript
jQuery在线选座位插件seat-charts特效代码分享
Aug 27 Javascript
jQuery解析Json实例详解
Nov 24 Javascript
理解javascript闭包
Dec 15 Javascript
js实现html table 行,列锁定的简单实例
Oct 13 Javascript
Vue 换肤的示例实践
Jan 23 Javascript
详解Vue的ref特性的使用
Jan 24 Javascript
JS中FileReader类实现文件上传及时预览功能
Mar 27 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
May 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 缓冲的免费实现方法
2006/10/09 PHP
解决GD中文乱码问题
2007/02/14 PHP
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
小型js框架veryide.librar源代码
2009/03/05 Javascript
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
文字垂直滚动之javascript代码
2015/07/29 Javascript
AngularJS转换响应内容
2016/01/27 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
vue 实现锚点功能操作
2020/08/10 Javascript
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
Python中操作符重载用法分析
2016/04/29 Python
python实现中文转换url编码的方法
2016/06/14 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
python实现学员管理系统
2019/02/26 Python
python基于itchat模块实现微信防撤回
2019/04/29 Python
Python jieba库用法及实例解析
2019/11/04 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
Python多进程编程常用方法解析
2020/03/26 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
学生会竞选演讲稿
2014/04/24 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
MySQL分区路径子分区再分区
2022/04/13 MySQL