ngDialog не обновляет $ scope

0

Я открываю всплывающее окно, используя

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

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

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

  • 0
    Обновление $ scope. $ Parent было решением
Теги:
ng-dialog

3 ответа

0

Я ничего не знаю о ngDialog но я просмотрел его документацию о свойстве scope.

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

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

Вас также может заинтересовать этот вопрос.

0

Не нужно использовать область в dialog.open, если вы открываете диалог из "основной области".

Пытаться

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

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

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

вы можете добавить данные в основную область по областям. $ parent или $ scope. $ parent

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню