加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 在控制器之间设置和检索对象的角度服务

发布时间:2020-12-17 07:20:28 所属栏目:安全 来源:网络整理
导读:我一直在尝试将一个服务对象从http post响应设置到控制器并从另一个控制器获取它. 我在SO或网站上看到的教程更侧重于从 HTML输入到控制器,另一个控制器获取值. 我想避免使用rootscope,我是angular-js的新手. 第一个控制器(将Data1和Data2放在一个对象中) .co
我一直在尝试将一个服务对象从http post响应设置到控制器并从另一个控制器获取它.
我在SO或网站上看到的教程更侧重于从 HTML输入到控制器,另一个控制器获取值.

我想避免使用rootscope,我是angular-js的新手.

第一个控制器(将Data1和Data2放在一个对象中)

.controller('GetItem',function($scope,$http,$filter,$ionicPopup,$stateParams,$cordovaSQLite,$cordovaDatePicker,dataFactory){
    ...
    console.log(resp.data);
    var data1= resp.data.data1;
    var data2= resp.data.data2;
 }

第二个控制器(获取对象并检索data1和data2)

一些指针将深表赞赏!

Update1 :(保存函数有效但Get函数返回EMPTY):

.service('StoreService',function(){

 var data1=[]; //{} returns me an empty object

 this.save=function(data1){
 alert('DATA: '+ data1); //able to retrieve string
 this.data1=data1;

 };

 this.getData1=function(){
 alert('DATA1: '+ data1); //unable to get string
 return data1;

 };
})

这是从服务中检索的第二个控制器:

.controller('unlock',$timeout,dataFactory,StoreService) {

  function test(){
    console.log(StoreService.getData1());

更新2 :(工作)
托米斯拉夫的掠夺者:http://plnkr.co/edit/srAphQhAYuBZL18MY1Kr?p=preview

@atinder答案是要走的路.以下是该服务的示例:
app.service('StoreService',function(){

  var data1={};
  var data2={};
  this.save=function(data1,data2){        
       this.data1=data1;
       this.data2=data2;

  };

  this.getData1=function(){

    return data1;

  };

  this.getData2=function(){

    return data2;

  };
});

然后在第一个控制器:

.controller('firstController',function(StoreService){
    .....
    StoreService.save(resp.data.data1,resp.data.data2);
 });

在第二个控制器:

.controller('secondController',function(StoreService,$scope){
    $scope.data1 = StoreService.getData1();
    $scope.data2 = StoreService.getData2();
 });

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读