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(一)工厂方式 js面象对象的定义方法
Dec 15 Javascript
jquery 问答知识整理
Feb 11 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
Apr 26 Javascript
一个JavaScript防止表单重复提交的实例
Oct 21 Javascript
js简单的点击返回顶部效果实现方法
Apr 10 Javascript
跟我学习javascript的函数和函数表达式
Nov 16 Javascript
AngularJS中的Directive实现延迟加载
Jan 25 Javascript
微信JS接口大全
Aug 25 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
Sep 17 Javascript
angular.JS实现网页禁用调试、复制和剪切
Mar 31 Javascript
简单实现JavaScript弹幕效果
Aug 27 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
Nov 13 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中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
PHP对象Object的概念 介绍
2012/06/14 PHP
50个PHP程序性能优化的方法
2014/06/02 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
WordPress JQuery处理沙发头像
2009/06/22 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
js实现一个省市区三级联动选择框代码分享
2013/03/06 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
Python操作Word批量生成文章的方法
2015/07/28 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
配置管理计划的主要内容有哪些
2014/06/20 面试题
收银出纳员岗位职责
2014/02/23 职场文书
连带责任保证书
2014/04/29 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
家长会主持词开场白
2015/05/29 职场文书
实习证明格式范文
2015/06/16 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang