ngDialog not updating $scope

ngDialog not updating $scope

本文关键字:scope updating not ngDialog      更新时间:2023-09-26

我正在使用打开一个"弹出窗口"

$scope.dialog = ngDialog.open({ template: 'addSurveyQuestion', controller: 'EventSurveysCtrl', scope: $scope });

在模板中,我调用了一个函数,它创建了一个AJAX请求,但当我使用$scope.eventSurveyQuestions.push({data here});将数据推送到$scope时,它不会出现在主$scope中。就好像有两个$scope变量,一个用于主页,另一个用于ngDialog。

如何从ngDialog弹出窗口中启动的流程中将数据添加到主$scope?

我对ngDialog一无所知,但我查看了它关于scope属性的文档。

将传递给对话框的作用域对象如果您使用具有独立$scope服务的控制器,此对象将被传递到$范围$父参数

你没有展示太多你是如何构建实际控制器的,所以我只能猜测你可能想访问$scope.$parent而不是普通的$scope

你可能也对这个问题感兴趣。

您可以按作用域向主作用域添加数据$parent或$scope$母

您可能可以使用$rootScope从中设置和获取变量值

如果从"main scope"打开对话框,则无需在dialog.open中使用scope。

尝试

$scope.dialog = ngDialog.open({
    template: 'addSurveyQuestion',
    controller: 'EventSurveysCtrl',
});

并且,在您的对话框控制器中-

app.controller('EventSurveysCtrl', ["$scope",.... fucntion($scope,...) {
    //now the '$scope' is your main scope
}