2016-06-09 86 views
0


我正在試圖用angularjs關閉模式。
我正在做的事情是當一個事件被觸發時打開一個簡單的模式,在模態內執行一些操作,然後確認或中止操作。
第一個opiton很好,但是當我點擊「Abort」按鈕關閉模式時,compilator說close()不是函數。
我認爲這是一個實例問題,所以我創建了一個與分配的open()和close()方法,但什麼都沒有改變...
這裏的JS代碼:

關閉一個模式

angular.module("docAcquire.controllers") 
.controller('HomeController', ['$scope', '$modal', function ($scope, $modal) { 

    $scope.modalInstance = $modal; 

    $scope.openDoc = function() { 
     $scope.modalInstance = $modal.open({ 
      templateUrl: 'partials/modals/Doc.html', 
      controller: '', 
      size : 'lg', 
      backdrop: 'static', 
      keyboard: false, 
      resolve: {} 
     });   
    }; 

    $scope.abortOperation = function() { 
     $scope.modalInstance.close();  
    }; 
} 



我在做什麼錯了?

編輯:如果你要至少downvote的問題是人爲足以解釋爲什麼...

+0

嘗試刪除'$ scope.modalInstance = $ modal;'。 – Tushar

+0

@Tushar刪除它會導致一個未定義對象的調用... –

+0

你沒有在你的控制器中添加$ modalInstance,這就是爲什麼它顯示錯誤。 –

回答

-1

尤爾並沒有在你的控制器中添加$ modalInstance。 你有兩種方式來關閉模式

$scope.openDoc = function() { 
    $scope.modalInstance = $modal.open({ 
     templateUrl: 'partials/modals/Doc.html', 
     size : 'lg', 
     backdrop: 'static', 
     keyboard: false, 
     resolve: {}, 
     controller: ['$scope', '$modalInstance', 
      function($scope, $modalInstance){ 

     //First Way 
     $scope.abortOperation = function() { 
      $modalInstance.close();  
     }; 
     //Second Way 
     $scope.abortOperation = function() { 
      $modalInstance.dismiss('cancel');  
     }; 
    }]}); 
} 
+0

這兩個都不會工作。他們都會返回我現在得到的相同錯誤(未定義函數) –

+0

在您的模態控制器中添加$ modalIntance並再次嘗試 –

+0

:這些方法都不起作用....... –