源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-04-29 20:06 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Angular.js跨controller实现参数传递的两种方法
[b]前言[/b] 由于controllers之间不共享scope,如果希望在controllers之间传递参数,可能需要通过其他的方式实现,以下是当前我用到的两种在controllers之间传递参数的方法。 注:参考文章[url=https://code.tutsplus.com/courses/sharing-data-between-angular-controllers]Sharing Data Between Angular Controllers[/url] [b]一、service[/b] 可以写一个包含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();
})
[b]二、$stateParams[/b] 第二种方法用于路由间传递参数,用途也比较广泛,使用场景比较多
// 传参
.state('one',{
 url:'one',
 controller:'one',
 template:'one.html',
 params:{
 name:'john'
 }
})

// 取参
.controller('one',function($stateParams){
 var name = $stateParams.name;
})
[b]others/localStorage[/b] 其他方法可以使用一些h5的小技巧,比如使用localStorage来存参/取参,其他的方法,暂时没想到也没用到,有待后续补充. 好了,以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用Angular能带来一定的帮助,如果有疑问大家可以留言交流。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部