2015-10-05 19 views
5

İşte burada bir sorun yaşıyorum, ana denetleyiciye sahip olduğum gibi ve bir denetleyici olan bir alt denetleyici, ana denetleyicide bir yöntemim var. Çocuk mod denetleyicisinden aramak istiyorum, ne eksik olduğunu bilmiyorum ama ne denedim.Çocuk modulu denetleyicisinden (ui önyükleme) bir ana denetleyici yöntemini çağırın

App.controller('MailFolderController', ['$scope', '$http', '$timeout', '$stateParams', '$window', 'mails', '$interval', function ($scope, $http, $timeout, $stateParams, $window, mails, $interval) { 


$scope.check = function(){ 
    console.log("call parent ==========>") 
} 


    App.controller('orderCancellationController', ['$scope', '$modal', function ($scope, $modal) { 

    $scope.open = function (mail) { 
     var modalInstance = $modal.open({ 
      templateUrl: '/orderCancellationBox.html', 
      controller: ModalInstanceCtrl, 
      resolve: { 
       mail: function() { 
        return mail; 
       } 
      } 
     }); 
    }; 

    // Please note that $modalInstance represents a modal window (instance) dependency. 
    // It is not the same as the $modal service used above. 

    var ModalInstanceCtrl = function ($scope, $modalInstance, mail) { 

     $scope.mail = mail; 
     $scope.submit = function() { 
      $scope.$parent.check(); 
      $modalInstance.close('closed'); 
     }; 

     $scope.cancel = function() { 
      $modalInstance.dismiss('cancel'); 
     }; 
    }; 
    ModalInstanceCtrl.$inject = ["$scope", "$modalInstance", 'mail']; 

}]); 


}]); 

ama bana bir hata böyle fonksiyon i çek yöntemi hatayı alıyorum verir i modal örneği denetleyicisinden bu onay yöntemi çağırmak istiyorum, ama yapamadı, yardım edin. (Aslında $ modal hizmeti bir çocuk kapsamını yaratacak modal içeriği için kullanılacak bir kapsam örneği - bootstrap içinde

+0

eklemeyi deneyin 'denetleyicisi: ModalInstanceCtrl' – klskl

+0

im üzgünüm, seni alamadım, biraz –

+0

aşağıda bir örnekle – klskl

cevap

11

https://angular-ui.github.io/bootstrap/#/modal

Modal bir 'kapsam' seçeneğini,

kapsamı vardır sağlanan kapsam). scope: $scope kullanarak $ rootScope

Varsayılan size ana denetleyici tanımlanan yöntemleri kullanmaya izin vermelidir

örnek:

$scope.open = function (mail) { 
    var modalInstance = $modal.open({ 
     templateUrl: '/orderCancellationBox.html', 
     controller: ModalInstanceCtrl, 
     scope: $scope, 
     resolve: { 
      mail: function() { 
       return mail; 
      } 
     } 
    }); 
}; 
+0

Çok teşekkürler dostum –

+0

np benim cevap güncellenen açıklayınız, ben ('posta ile yaptığınız gibi') yöntemi 'çözebileceğinizi' düşünün, fakat ben kendimi – klskl

+0

kendim denemedim, aslında '$ parent' olmadan çalışma işlevinin prototip miras mı olduğu doğru mu? – Anatoly

1

Çöz $ $ modal kapsamı ve sadece $ scope.parent diyoruz. kontrol edin ve bitirdiniz! senin altında: '$ kapsamını kapsamı'

İlgili konular