Как я могу передать и получить данные формы с дочернего контроллера на родительский контроллер с помощью AngularJS? - PullRequest
0 голосов
/ 23 января 2019

У меня проблема, в моей форме у меня есть вложенный контроллер, а дочерний контроллер - это модальный контроллер, который содержит некоторые поля ввода.Теперь моя проблема в том, что я хочу передать данные формы после закрытия моего модального режима.Я пытался использовать решимость, но я не знаю, что вернуть.Вот мой код:

ParentController

 question = {}

openAddEditCoursewareModal(mode, id, data, actionType) {

    let ctrl = this;
    if(ctrl.QuestionsStore.questionnaireType == 'Questionnaire') {
        //this.questionType = 'Questionnaire';
        var modalInstance = ctrl.$modal.open({
            template: '<addeditcourseware-modal modal-options="$ctrl.modalOptions" close="$ctrl.close()"></addeditcourseware-modal>',
            controller: ['$modalInstance', function($modalInstance, items) {
                this.modalOptions = {
                    mode: mode,
                    id: id,
                    data: angular.copy(data),
                    actionType: mode //set to mode temporarily should be ActionType
                }
                this.close = $modalInstance.close;
                this.childData = {};
            }],
            size: 'small',
            controllerAs: '$ctrl',
            resolve: {
                items: function() {
                    console.log('here here');
                }
            },
            windowClass: 'addeditcourseware-modal'
        });
        modalInstance.result.then(function(result) {
            try {
            } catch(e) { 
                console.log('Error!'); 
            }
        });
    } else {
        // some code
    }
}

Дочерний или вложенный контроллер

submitForm() {
 console.log('Action Type: ', this.modalOptions.actionType);

        if (this.modalOptions.actionType === 'add' || this.modalOptions.actionType === 'duplicate'){

            console.log("Form Data: ", angular.toJson(this.question)); // NO PROBLEM HERE. IT SHOWS MY FORM DATA
            this.close(this.question);

        } else if (this.modalOptions.actionType === 'edit') {
            this.updateQuestion(formData);
        }
}

 // Close modal
    close(formData) {
        this.modalInstance.close(formData);
    }

Частьмой родительский шаблон: (НЕТ ДАННЫХ)

<code><pre>
    Test:
    {{ $ctrl.question }}

Это все, что я надеюсь, вы можете помочь мне с этим.Благодаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...