如何从不同的控制器角度js传递值

时间:2017-04-17 14:01:10

标签: javascript html angularjs controller

我想将值从ng-click内部按钮传递到athor html页面(控制器)。 我有一页有' getPersonalCtrl'从ng-click获取我的vaue的控制器, 并希望将此值发送到athor控制器' viewPersonalCtrl'在不同的html页面中,但我无法获得价值。

这是我的getPersonalCtrl(控制器):

mymedical.controller('getPersonalCtrl',['$scope','$http','$cookies','myService',function($scope,$http,$cookies,myService) {

$scope.viewCurrent = function(value){
  $scope.information = value;
   myService.setInfo($scope.information);

  ///window.location="viewDetails.html";
}

}]);

这是我想要将数据发送到我的viewPersonalCtrl(控制器):

mymedical.controller('viewPersonalCtrl',['$scope','$http','$cookies','myService', function($scope,$http,$cookies,myService){
    $scope.myreturnedData = myService.getInfo();
    console.log($scope.myreturnedData);
}]);

mymedical.factory('myService', function(){
  console.log("factory");
var infoObj = null;//the object to hold our data
     return {
     getInfo:function(){
      console.log("getInfo");
       console.log(infoObj);
       return infoObj;
     },
     setInfo:function(value){
      //console.log("setInfo");
      //console.log(value);
      infoObj = value;
     }
     }

});

我需要做些什么来修复它?

谢谢,

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下代码吗?

   mymedical.factory('dummyFactory', [function () {
        var infoObj = null;
        var myServiceFactory = {
            setObj: function (value) {
                infoObj = value;
            },
            getObj: function () {
                return infoObj;
            }
        };
        return myServiceFactory;
   }]);
控制器中的

dummyFactory.setObj(null);
var val2 = dummyFactory.getObj();

val2 在控制台中为空。