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 相关文章推荐
jquery的键盘事件修改代码
Feb 24 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
Mar 02 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
Mar 26 Javascript
jQuery结合ajax实现动态加载文本内容
May 19 Javascript
javascript实现自动输出文本(打字特效)
Aug 27 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
Sep 14 Javascript
Angular6 用户自定义标签开发的实现方法
Jan 08 Javascript
微信小程序制作表格的方法
Feb 14 Javascript
angular2 NgModel模块的具体使用方法
Apr 10 Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 Javascript
vue 导航内容设置选中状态样式的例子
Nov 01 Javascript
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
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中spl_autoload详解
2014/10/17 PHP
PHP异常处理Exception类
2015/12/11 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
另一个javascript小测验(代码集合)
2011/07/27 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
JSONObject使用方法详解
2015/12/17 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
layui 实现表格某一列显示图标
2019/09/19 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
python Django批量导入数据
2016/03/25 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
浅谈Python type的使用
2019/11/19 Python
wxPython实现分隔窗口
2019/11/19 Python
Jupyter notebook 远程配置及SSL加密教程
2020/04/14 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
Python修改DBF文件指定列
2020/12/19 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
python 制作本地应用搜索工具
2021/02/27 Python
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
网站客服岗位职责
2014/04/05 职场文书
解除劳动合同协议书
2014/09/17 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
获奖感言一句话
2015/07/31 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers