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 :(工作)
@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(); }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |