如果我在子控制器中添加数据,如何让Parent刷新数据

时间:2015-09-25 19:23:37

标签: angularjs

我需要在子控制器中添加一些数据,在子控制器中提交添加数据后,我需要父控制器重新加载数据。以下是一些代码示例:

 function parentCtr(){
       $scope.getReportsView = function() {
            ReportService
                .getReportListView(
                    $scope.Headerinfo.expenseReportID)
                .then(
                    function(reportInformation) {
                        $scope.Expensereports =    reportInformation.expensesList.expReport;
                        if ($scope.Expensereports != null && $scope.Expensereports.length > 0) {
                            $scope.noExpense = false;
                        }
                    });
        };
} 
in the child controller:
I have function like:
$scope.addData = function(data){
   addDataService.add(data).then(function())
}

我正在使用bootstrap $ modal来创建添加数据弹出窗口,子控制器用于thsi模式:

<div ng-contrlooer='parentCtr'>
 {{Expensereports }}
    <button ng-click='openPopup'>Add Data</>
</div>

我想要的是在我在子控制器中成功添加数据之后,我需要让父控制器中的$ scope.getReportsView()再次运行以刷新表。 添加的数据是$ scope.Expensereports的一部分,我在父控制器中使用它。

1 个答案:

答案 0 :(得分:0)

好的,在看到你的代码和你的HTML之后,以及你如何在一个模态中调用子控制器的解释,我认为这里发生的是你在逻辑上有一个父子关系,没有这样的关系控制器之间。如果有,那么`$ scope。$ parent应该允许您访问父范围。

由于情况似乎并非如此,我的建议只是从模式返回时从“父”范围调用$scope.getReportsView