Angular.js跨controller实现参数传递的两种方法


Posted in Javascript onFebruary 20, 2017

前言

由于controllers之间不共享scope,如果希望在controllers之间传递参数,可能需要通过其他的方式实现,以下是当前我用到的两种在controllers之间传递参数的方法。

注:参考文章Sharing Data Between Angular Controllers

一、service

可以写一个包含get/set的service,取参数/赋参数

.factory('paramService',function(){
 return {
 result:[],
 getResult:function(){
 return this.result;
 },
 setResult:function(res){
 this.result = res;
 }
 };
})

然后可以在controllerOne中赋值,在controllerTwo中取值

// 赋值
.controller('one',function(paramService){
 paramService.setResult('one');
})

// 取值
.controller('two',function(paramService){
 var param = paramService.getResult();
})

二、$stateParams

第二种方法用于路由间传递参数,用途也比较广泛,使用场景比较多

// 传参
.state('one',{
 url:'one',
 controller:'one',
 template:'one.html',
 params:{
 name:'john'
 }
})

// 取参
.controller('one',function($stateParams){
 var name = $stateParams.name;
})

others/localStorage

其他方法可以使用一些h5的小技巧,比如使用localStorage来存参/取参,其他的方法,暂时没想到也没用到,有待后续补充.

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用Angular能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
javascript实现划词标记+划词搜索功能
Mar 06 Javascript
replace()方法查找字符使用示例
Oct 28 Javascript
javascript中Array()数组函数详解
Aug 23 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
Aug 26 Javascript
javascript基本算法汇总
Mar 09 Javascript
微信小程序 textarea 组件详解及简单实例
Jan 10 Javascript
javascript获取以及设置光标位置
Feb 16 Javascript
jQuery日程管理控件glDatePicker用法详解
Mar 29 jQuery
JS实现小球的弹性碰撞效果
Nov 11 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
vue+elementUI实现表格关键字筛选高亮
Oct 26 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
Mar 09 Javascript
Bootstrap table右键功能实现方法
Feb 20 #Javascript
BootstrapTable refresh 方法使用实例简单介绍
Feb 20 #Javascript
Bootstrap table 定制提示语的加载过程
Feb 20 #Javascript
bootstrapValidator 重新启用提交按钮的方法
Feb 20 #Javascript
原生js实现轮播图的示例代码
Feb 20 #Javascript
深入理解Javascript中的观察者模式
Feb 20 #Javascript
浅谈js中function的参数默认值
Feb 20 #Javascript
You might like
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
PHP数组函数知识汇总
2016/05/12 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
Ctrl+Enter提交内容信息
2006/06/26 Javascript
不错的asp中显示新闻的功能
2006/10/13 Javascript
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
JavaScript中的Math.LOG2E属性使用详解
2015/06/14 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
微信小程序实现留言板
2018/10/31 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
python安装scipy的方法步骤
2019/06/26 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
盛大二次面试题
2016/11/18 面试题
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
《开国大典》教学反思
2014/04/19 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
党支部组织生活会整改方案
2014/09/30 职场文书
会计专业自荐信范文
2015/03/05 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
工作时间证明
2015/06/15 职场文书
如何写好竞聘报告
2019/04/03 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
Python基于百度AI实现抓取表情包
2021/06/27 Python