我正在打开一个" popup"使用
$scope.dialog = ngDialog.open({
template: 'addSurveyQuestion',
controller: 'EventSurveysCtrl',
scope: $scope
});
在模板中我调用了一个函数,它创建了一个AJAX请求,但是在我使用$scope.eventSurveyQuestions.push({data here});
将数据推送到$ scope时,它并没有出现在主$ scope中。它好像有2个$ scope变量,一个用于主页面,一个用于ngDialog。
如何从ngDialog弹出窗口中启动的进程中向主$ scope添加数据?
答案 0 :(得分:0)
我对ngDialog
一无所知,但我查看了documentation about the scope property。
将传递给对话框的Scope对象。 如果您使用的话 具有单独的$ scope服务的控制器将传递给该对象 $ scope。$ parent param 。
您没有详细说明如何构建实际的控制器,所以我猜你可能想要访问$scope.$parent
而不是普通$scope
。
您可能也对this question感兴趣。
答案 1 :(得分:0)
您可以按范围将数据添加到主范围。$ parent或$ scope。$ parent
可能你可以使用$ rootScope从那里设置和获取变量值
答案 2 :(得分:0)
如果从“主范围”打开对话框,则无需在dialog.open中使用范围。
尝试
$scope.dialog = ngDialog.open({
template: 'addSurveyQuestion',
controller: 'EventSurveysCtrl',
});
并且,在对话框控制器中 -
app.controller('EventSurveysCtrl', ["$scope",.... fucntion($scope,...) {
//now the '$scope' is your main scope
}