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 Xml增删改查(IE下)操作实现代码
Jan 30 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
May 02 Javascript
深入剖析JavaScript中的枚举功能
Mar 06 Javascript
json属性名为什么要双引号(个人猜测)
Jul 31 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
Nov 02 Javascript
学习掌握JavaScript中this的使用技巧
Aug 29 Javascript
类似于QQ的右滑删除效果的实现方法
Oct 16 Javascript
使用mint-ui开发项目的一些心得(分享)
Sep 07 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
Aug 16 Javascript
vue配置文件实现代理v2版本的方法
Jun 21 Javascript
微信小程序通过js实现瀑布流布局详解
Aug 28 Javascript
vue+Element中table表格实现可编辑(select下拉框)
May 21 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实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
PHP未登录自动跳转到登录页面
2016/12/21 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
一个js实现的所谓的滑动门
2007/05/23 Javascript
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
Jvascript学习实践案例(开发常用)
2012/06/25 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
vue项目每30秒刷新1次接口的实现方法
2018/12/04 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
python实现名片管理器的示例代码
2019/12/17 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
python如何快速生成时间戳
2020/07/21 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
个人实用的自我评价范文
2013/11/23 职场文书
支教自我鉴定
2014/01/18 职场文书
财产保全担保书范文
2014/04/01 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
2014报到证办理个人委托书
2014/10/08 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
Python基础之数据结构详解
2021/04/28 Python
javascript之Object.assign()的痛点分析
2022/03/03 Javascript