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下利用控制器载入对应脚本
Jul 17 Javascript
Javascript异步编程模型Promise模式详细介绍
May 08 Javascript
document.forms用法示例介绍
Jun 26 Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 Javascript
JavaScript定义变量和变量优先级问题探讨
Oct 11 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
Sep 27 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
Nov 25 Javascript
为什么我们要做三份 Webpack 配置文件
Sep 18 Javascript
layui框架中layer父子页面交互的方法分析
Nov 15 Javascript
js的Object.assign用法示例分析
Mar 05 Javascript
vue组件开发之slider组件使用详解
Aug 21 Javascript
从原生JavaScript到React深入理解
Jul 23 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
封装一个PDO数据库操作类代码
2009/09/09 PHP
php分页函数完整实例代码
2014/09/22 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
jquery操作select option 的代码小结
2011/06/21 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
2016/04/15 Javascript
如何检测JavaScript的各种类型
2016/07/30 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
[03:55]2014DOTA2国际邀请赛 Fnatic经理采访赢DK在情理之中
2014/07/10 DOTA
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
Python持续监听文件变化代码实例
2020/07/22 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
实习护理工作自我评价
2013/09/25 职场文书
网络工程师个人的自我评价范文
2013/10/01 职场文书
一年级学生评语大全
2014/04/21 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
MySQL注入基础练习
2021/05/30 MySQL
golang实现浏览器导出excel文件功能
2022/03/25 Golang
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers