Angular.js跨控制器实现参数传递的两种方法

  

  

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

  

注:参考文章角控制器之间共享数据

  

  

可以写一个包含获?设置的服务,取参数/赋参数

        .factory (paramService,函数(){   返回{   结果:[],   getResult:函数(){   返回this.result;   },   setResult:函数(res) {   这一点。结果=res;   }   };   })      

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

     //赋值   范式(“一个”,函数(paramService) {   paramService.setResult(一);   })//取值   范式(“两个”,函数(paramService) {   var参数=paramService.getResult ();   })      

  

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

     //传参   .state(“一个”,{   url:“一个”,   控制器:“一个”,   模板:“one.html”,   参数:{   名称:“约翰”   }   })//取参   范式(“一个”,函数(stateParams美元){   var=$ stateParams.name名称;   })      

  

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

  

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

Angular.js跨控制器实现参数传递的两种方法