2016-07-27 58 views
-1

你好,女士们,先生们,我在这里堆栈:我试图做以下 1)getBusinessses从数据库中的特定子类别。我成功了。 2)我从CategoryCtrl得到他们,我想要显示他们的搜索页面加载与SearchCtrl我看到的数据CategoryCtrl但无法跟踪它在SearchCtrl我看不到在SearchCtrl:这是我的代码。有人请帮我出无法移动和跟踪从一个控制器到另一个控制器的数据angularjs

的Html

<div class="col-lg-12 col-sm-12 col-md-12 col-xs-12" ng-controller="CategoryCtrl"> 

    <a hfref="#" style="text-decoration:none" ng-click="getBusinesses(sub_category.id)" class="badblack">{{sub_category.name}}</a> 

</div> 

的JavaScript

.controller('CategoryCtrl', ['$scope','$rootScope','sharedproperties',function($scope,$rootScope,sharedproperties){ 

    $scope.getBusinesses=function(sub_category_id) 
     { 

      $http.get($scope.BaseURL+"classes/util.php?sub_category_id="+sub_category_id+"&transaction=get_businesses").then(function(results){ 

        alert("results are"+results); 
        console.log("jsonstring axctualyy is",results); 
        $scope.bus_es = results; 
        sharedProperties.setProperty($scope.bus_es.data);//successfully sets property 
        console.log("sharedProperty is",sharedProperties.getProperty()); 

        $rootScope.$broadcast("CallSubcategoryBusinesses", $scope.bus_es.data); 
        window.location.href=BaseURL+"search.php"; 

      }); 


     } 

}]) 
.controller('SearchCtrl',['$scope','$rootScope','sharedproperties',function($scope,$rootScope,sharedproperties) 
{ 
    $rootScope.$on("CallSubcategoryBusinesses", function(event,data){ 

       //$scope.search_subCategory_businesses(); 
       //$scope.businesses=data; 
       console.log("the data from categories is is",data) 
      // alert($scope.search_subCategory_businesses()); 
     }); 

}]) 
.factory('sharedproperties',function() 
{ 

     var property = ''; 

     return { 
      getProperty: function() { 
       return property; 
      }, 
      setProperty: function(value) { 
       property = value; 
      } 
     }; 


}) 
+2

使用可读的标题为问题。你是什么意思由另一个angularjs –

回答

1

你可以看看下面的小提琴

http://jsfiddle.net/HEdJF/1605/

myApp.factory('Data', function(){ 
    return { FirstName: '' }; 
}); 

myApp.controller('FirstCtrl', function($scope, Data){ 
    var mydata="Factory"; 
    Data.FirstName=mydata; 
    $scope.Data = Data; 
}); 

myApp.controller('SecondCtrl', function($scope, Data){ 
    $scope.Data = Data; 
}); 

数据的共享可以通过使用工厂或服务来完成...

+0

谢谢你的朋友 –

+0

谢谢你@Kumar – henrybbosa

+0

如果你甚至投票赞成这个..所以这将是有用的其他人有同样的亲b –

0

如果你想分享控制器之间的数据,你需要保持这个数据在服务,所以在同一时间都控制器可以访问数据。另一种方法是使用角度信号框架 - 例如在给定事件的第二个控制器中,它读取事件中传递的数据。

相关问题