AngularJS入门教程二:在路由中传递参数的方法分析


Posted in Javascript onMay 27, 2017

本文实例讲述了AngularJS在路由中传递参数的方法。分享给大家供大家参考,具体如下:

我们不仅可以在控制器中直接定义属性的值,比如:

app.controller('listController',function($scope){
  $scope.name="ROSE";
});

AngularJS还提供了传递参数的功能,目前我接触到的一种方式是从视图中传参:

<!--首页html-->
<li><a href="#/user/18" rel="external nofollow" rel="external nofollow" >用户</a></li>
//js
.config(['$routeProvider', function($routeProvider){
    $routeProvider.
    when('/user/:age',{
        templateUrl:'list.html',
        controller:'listController'})
 }]);
<!--list.html-->
<div>
  <div>
  <h1>HI,这里是list.html</h1>
  <h2>{{name}}</h2>
  <h3>{{params.age}}</h3>
</div>
</div>

AngularJs提供了一种让首页视图中将“18”传递到list.html视图的方法。那就是将该实参放到视图路由地址后面。如这里的<li><a href="#/user/18" rel="external nofollow" rel="external nofollow" >用户</a></li> 。然后在JS的when方法中声明该一个变量用来匹配该实参。但是该实参是作为一个“键值”保存在$routeParams (数组)里面,我们必须在控制符中注入它(所谓注入其实就是把他里面的属性和值都共享出来?)。然后在控制器中声明并赋值,(也即是取出来)。如下:

.controller('listController',function($scope,$routeParams){
  $scope.name="ROSE";
  $scope.params=$routeParams;
});

总结传参步骤如下:

1、在首页视图的”/”后面添加要传递的实参。
2、在路由配置中的路由路径中定义一个变量用以匹配,格式为/:varible 。
3、配置控制器,将$routeParams 注入到控制器当中。
4、在控制器中进行赋值。$scope.params=$routeParams; 。
5、在路由完成后的视图中成功显示出该实参。 <h3>{{params.age}}</h3>

需要注意的一点是,该实参是作为一个键值存在$routeParams里面的,必须通过访问他所对应的变量(在这里是age),才能得到该值。

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
浏览器加载、渲染和解析过程黑箱简析
Nov 29 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
Jul 10 Javascript
javascript学习笔记(五)原型和原型链详解
Oct 08 Javascript
JQ实现新浪游戏首页幻灯片
Jul 29 Javascript
JavaScript驾驭网页-DOM
Mar 24 Javascript
Vue实现web分页组件详解
Nov 28 Javascript
动态加载JavaScript文件的3种方式
May 05 Javascript
基于JavaScript实现每日签到打卡轨迹功能
Nov 29 Javascript
Layui实现数据表格默认全部显示(不要分页)
Oct 26 Javascript
JS使用正则表达式实现常用的表单验证功能分析
Apr 30 Javascript
jquery+css3实现的经典弹出层效果示例
May 16 jQuery
js调用网络摄像头的方法
Dec 05 Javascript
AngularJS入门教程一:路由用法初探
May 27 #Javascript
Angular 4环境准备与Angular cli创建项目详解
May 27 #Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
May 27 #Javascript
Angularjs自定义指令Directive详解
May 27 #Javascript
react-redux中connect()方法详细解析
May 27 #Javascript
react-router实现跳转传值的方法示例
May 27 #Javascript
简单实现JavaScript弹幕效果
Aug 27 #Javascript
You might like
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
PHP框架性能测试报告
2016/05/08 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
php无限级分类实现方法分析
2016/10/19 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
js获取url传值的方法
2015/12/18 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
基于JavaScript实现移动端无限加载分页
2017/03/27 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
Django框架视图介绍与使用详解
2019/07/18 Python
Python虚拟环境venv用法详解
2020/05/25 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
历史系自荐信范文
2013/12/24 职场文书
学习心得体会
2014/01/01 职场文书
旅游业大学生创业计划书
2014/01/31 职场文书
委托书模板
2014/04/04 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
公司仓库管理制度
2015/08/04 职场文书