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 相关文章推荐
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
Aug 16 Javascript
javascript中的事件代理初探
Mar 08 Javascript
jQuery动态创建html元素的常用方法汇总
Sep 05 Javascript
Node.js实现Excel转JSON
Apr 24 Javascript
AngularJS基础学习笔记之表达式
May 10 Javascript
最佳的JavaScript错误处理实践
Jul 16 Javascript
js实现动态创建的元素绑定事件
Jul 19 Javascript
AngularJs Dependency Injection(DI,依赖注入)
Sep 02 Javascript
Vue resource中的GET与POST请求的实例代码
Jul 21 Javascript
详解vue axios二次封装
Jul 22 Javascript
ng-events类似ionic中Events的angular全局事件
Sep 05 Javascript
详解ES6 CLASS在微信小程序中的应用实例
Apr 24 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
PHP生成静态页
2006/11/25 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
php使用fputcsv()函数csv文件读写数据的方法
2015/01/06 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
php array_map()函数实例用法
2021/03/03 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
Vuex简单入门
2017/04/19 Javascript
React数据传递之组件内部通信的方法
2017/12/31 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
element中table高度自适应的实现
2020/10/21 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
详解Python3的TFTP文件传输
2018/06/26 Python
一百多行python代码实现抢票助手
2018/09/25 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
python构造函数init实例方法解析
2020/01/19 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
python实现数字炸弹游戏程序
2020/07/17 Python
pycharm 实现调试窗口恢复
2021/02/05 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
主持人演讲稿
2014/05/13 职场文书
一篇文章弄懂Python中的内建函数
2021/08/07 Python