2016-04-19 3 views
0

Я открывающий «всплывающее окно» с помощью

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

В шаблоне я называю функцию, которая создает запрос AJAX, но на меня толкая эти данные $ объема с помощью $scope.eventSurveyQuestions.push({data here}); он не отображается в основном $ scope. Он как будто есть переменные области $ 2, одна для главной страницы и одна для ngDialog.

Как я могу добавить данные в основную область $ из процесса, инициированного из всплывающего окна ngDialog?

+0

Updating $ объем $ родительская было решение. – Ste

ответ

0

Я ничего не знаю о ngDialog, но я взглянул на его documentation about the scope property.

Объект области, который будет передан в диалог. Если вы используете контроллер с отдельной службой $ scope, этот объект будет передан в $ scope. $ Parent param.

Вы не показываете очень много о том, как вы построили свой фактический контроллер, так что я могу только догадываться, что вы можете получить доступ к $scope.$parent вместо простого $scope.

Вы также можете быть заинтересованы в this question.

0

вы можете добавить данные в основном объем ОбластьюВидимости. $ Родитель или $ Scope. $ Родитель

Возможно, вы можете использовать $ rootScope для установки и получения значений переменных оттуда

0

Нет необходимости использовать сферу в dialog.open, если вы откроете свой диалог из «основной области».

Попробуйте

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

и, в диалоговом контроллера -

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