2016-12-07 4 views
5

так вот мой модальное JS:возвращение uibmodal результат родительского контроллера

function modalInstance() { 
 
     var ctrlr = function($scope,$uibModalInstance,inName) { 
 
      var init = function() { 
 
       $scope.modalTmpStep = { 
 
        pos: 0, 
 
        body: '' 
 
       }; 
 
       $scope.cancelStep = cancelStep; 
 
       $scope.submitStep = saveStep; 
 
      }; 
 

 
      function cancelStep() { 
 
       console.log('closing'); 
 
       $uibModalInstance.dismiss('dismissed'); 
 
      } 
 
      function saveStep() { 
 
       var submitVar = JSON.stringify($scope.modalTmpStep) 
 
       console.log('submitting') 
 
       $uibModalInstance.close(submitVar); 
 
      } 
 

 
      init() 
 
     }; 
 

 
     var modalInstance = $uibModal.open({ 
 
      animation: true, 
 
      templateUrl: 'main/add/stepModal/addModal.html', 
 
      controller: ctrlr, 
 
      size: 'lg', 
 
      backdrop: 'static' 
 
     }); 
 

 
     modalInstance.result.then(function() { 
 
      console.log(); 
 
     }) 
 

 
    }

Конечная цель этой части кода, чтобы напечатать объект «submitVar» где-то на родительской странице , объект может быть строкой или JSON. Все переменные в вопросах обрабатываются с помощью ng-модели в HTML. Я не знаю, как передать это значение обратно родительскому контроллеру и вам нужна помощь.

В настоящее время выполняется строка console.log ('submit'), но я не знаю, где находится результат submitVar. Я планирую использовать это как окно редактирования, поэтому объект передается, затем редактируется и передается обратно, изменяя текущее значение.

Я использую: https://angular-ui.github.io/bootstrap/ как ссылку и не могу найти другую документацию по этому вопросу.

ответ

8

Внутри result.then из modalInstance объекта вы можете получить возвращаемое значение при закрытии modalInstance

modalInstance.result.then(function(submitVar) { 
    console.log("sumbited value inside parent controller", submitVar); 
}) 
+0

Спасибо! теперь кажется очевидным, что кто-то сказал мне. – TobyStack

Смежные вопросы