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实现 获取鼠标点击位置坐标的方法
Apr 12 Javascript
js切换光标示例代码
Oct 10 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
Nov 30 Javascript
Jquery实现自定义tooltip示例代码
Feb 12 Javascript
javascript中String对象的slice()方法分析
Dec 20 Javascript
简化版手机端照片预览组件
Apr 13 Javascript
js实现(全选)多选按钮的方法【附实例】
Mar 30 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
浅谈js中test()函数在正则中的使用
Aug 19 Javascript
给easyui的datebox控件添加清空按钮的实现方法
Nov 09 Javascript
Vue自定义事件(详解)
Aug 19 Javascript
jquery+php后台实现省市区联动功能示例
May 23 jQuery
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
PHP5中MVC结构学习
2006/10/09 PHP
PHP下escape解码函数的实现方法
2010/08/08 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
[01:44]Ti10举办地公布
2019/08/25 DOTA
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
Python及PyCharm下载与安装教程
2017/11/18 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
Pandas缺失值2种处理方式代码实例
2020/06/13 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
自荐信封面
2013/12/04 职场文书
建筑系毕业生自我鉴定
2014/01/24 职场文书
《最可爱的人》教学反思
2014/02/14 职场文书
学生期末评语大全
2014/04/30 职场文书
考研导师推荐信范文
2015/03/27 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL