2017-05-29 8 views
0

こんにちは私は開いた後に閉じるか提出するように設定するためにモーダルを取得しようとしています。私はclosefを実装することはできませんまたはsuccessfulyを開きます。私はすべての角度に慣れていないと私は数日間これを把握しようとしてきました。ここにモーダルオープン用のコントローラがあります。角モーダル閉じて提出する

(function() {   
    function ModalCtrl ($uibModal) {    
     this.open = function() { 
      console.log("Open sesame.") 
      var mobalInstance = $uibModal.open({ 
       templateUrl : '/templates/modals.html', 
       controller: 'ModalCtrl', 
       controllerAs: 'modal' 
      }); 
     } 
    } 

    angular 
     .module('blocChat') 
     .controller('ModalCtrl', ['$uibModal', ModalCtrl]); 
})(); 

と私はモーダルクローズするためのコントローラを持っており、この瞬間のように失敗している提出。ここで私は中止した。

(function() { 
    function ModalCloseSubmitCtrl ($uibModal, ModalCtrl) {    
     var modal = ModalCtrl; 

     this.submit = function() { 
      console.log("submitted!") 
      $uibModal.submit(modal); 
      }; 


     this.close = function() { 
      console.log("Closed successfully.") 
      $uibModal.close({$value: modal}); 
      }; 
    } 

    angular 
     .module('blocChat') 
     .controller('ModalCloseSubmitCtrl', ['$uibModal', 'ModalCtrl', ModalCloseSubmitCtrl]); 
})(); 

私はドキュメントを読むことを試みましたが、それはクリックしていないだけです。誰かが機能を適切にリンクする方法を指摘できれば、私はそれを高く評価します。御時間ありがとうございます。

ここにhtmlテンプレートがあります。これは各コントローラに1つあります。

<div ng-repeat="room in roomController.rooms">{{ room.$value }}</div> 

<button type="button" 
     ng-click="mod.open()">Create new room</button> 


</div> 

これは、モーダル関数を終了して送信するテンプレートです。

<div> 
<input type="submit" 
    ng-controller="ModalCloseSubmitCtrl as mods" 
    ng-submit= "mods.submit()">Submit room name. 
<button type="button" 
    ng-controller="ModalCloseSubmitCtrl as mods" 
    ng-click= "mods.close()">Close</button> 

+0

テンプレート(* modals.html *)を共有できますか? – Alisson

+0

見ていただきありがとうございました。 –

答えて

1

closeControllerで$ uibModalあなたはModalCtrlで開かれたインスタンスは異なっているので、私は最初のModalCtrlでmodalInstanceに近いイベントを追加し、内のすべてのロジックを維持することをお勧め単一のサービス

+0

私はそうしたいと思いますが、これは課題であり、先生は私にこのようにするように言いました。私が見てきたいくつかの例は、あなたが示唆した方法でそれを行いましたが、私の手はこれに結びついています。 –

関連する問題