无法从模态返回到控制器的更新值

时间:2016-11-17 15:00:26

标签: angularjs

我有一个模态并执行一些过程来从模态更新值,而不是从我的控制器更新。请让我知道如何从modal到控制器获取值($ scope.currentItem.value)。

$scope.showModalForm = function(data, index) {
      $scope.currentItem = data; 
  ngDialog.open(
          {
              template: '/scripts/app/panel/MyInfo.html',
              controller: 'MyInfoController',                
              scope: $scope,
              width:"50%",

          })
};

angular.module('app')
    .controller('MyInfoController', function ($scope,$http, $log) {
        $scope.submit = function() {
            // OPen modal and process sucessfully need to send the approve back to controller
     if(process) {
            $scope.currentItem.value = "Corrected";
     }
     if(!process) {
         $scope.currentItem.value = "Wrong";
      }

}
}

1 个答案:

答案 0 :(得分:0)

根据ngDialog docs:

  

将传递给对话框的Scope对象。如果您使用具有单独$ scope服务的控制器,则此对象将传递给$ scope。$ parent param

因此,在MyInfoController中,您需要引用父控制器的$ scope作为$ scope。$ parent而不是$ scope。像这样:

$scope.$parent.currentItem.value = "Corrected";

这是一个有效的plunk