javascript - 就我而言,如何将数据传递给另一个 Controller ?

标签 javascript angularjs

我正在尝试从工厂获取 http 请求数据,在父 Controller 中处理数据,然后传回工厂供我的子 Controller 访问它。

我有类似的东西

父 Controller

  myFactory.makeApi(id)
            .then(function(data) {
                //process data here...
                //I want to pass productDetail back to my factory and let 
                //my child controller use it 
                $scope.productDetail    = productDetail;
            })

子 Controller

//I want to get the productDetail through parent' $scope.productDetail.
//but not sure how to get it.
 myFactory.getProductDetail ???

我的工厂

  service.makeApi = function(id) {      
        return getProduct(id)
            .then(function(httpObj) {
                return httpObj.data;
            })

    }

  var getProduct = function(id) {
       return $http.post('/api/product/getProduct/' + id) 
  }

基本上我不确定如何将 productDetail 传递给我的子 Controller 。感谢您的帮助。

最佳答案

从父 Controller 你可以广播一个datrecieved事件

  $scope.broadcast("datarecieved", data);

在 child 中你可以收到这些数据

  $scope.$on("datarecieved",function(data){
  //do something 
 })

在你的情况下你可以这样做

家长代码

        myFactory.makeApi(id)
        .then(function(data) {
            //process data here...
            //I want to pass productDetail back to my factory and let 
            //my child controller use it 
            $scope.productDetail    = productDetail
            $scope.broadcast("datarecieved", productDetail);
        })

child

   $scope.$on("datarecieved",function(data){
     //do something 
   })

关于javascript - 就我而言,如何将数据传递给另一个 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26694476/

相关文章:

javascript - 只有在父 div 正确加载后才加载 div

javascript - 访问 iframe 中的元素

javascript - React setState 不影响 Children

javascript - AngularJS 在 ng-repeat 的当前迭代中定位元素

javascript - JQuery Javascript 的自动完成功能在 Eclipse IDE 的 JSP 中不起作用

javascript - AngularJS - 如何使用 "require"在指令中获取指令 Controller

javascript - 从客户端 Controller (MEAN.JS) 指定 Mongo 查询参数

javascript - 对于更简单的用例来说 angular.js 是否被认为太大

javascript - Angular ajax : Unexpected token I in JSON at position 0

javascript - Angularjs http 从 ASP.NET 获取