2017-09-25 84 views
0

我有一個angularJs的問題。 打開彈出窗口並在彈出窗口中動態添加按鈕後,我不知道如何觸發按鈕事件。我嘗試了幾乎所有的東西。AngularJS事件在彈出的動態添加按鈕

下面是一個例子:https://plnkr.co/edit/QfnDttJE2OnfHzt65tBQ?p=preview

+1

你不應該在angularjs中添加類似的東西,而是以jQuery的方式進行添加 - 向DOM添加元素。嘗試在控制器上設置一些數組變量,它將獲取你的按鈕列表,即btnArray(僅限於對象列表),然後在你的按鈕元素上對該btnArray執行重複操作,並顯示該模式中該數組的所有內容。 – pegla

回答

0

確定給你的代碼,它可以改進一下,但這個應該是固溶體: https://plnkr.co/edit/UiOsyHBjVZTW33yr6h3z?p=preview

的Javascript:

app.controller('ModalInstanceCtrl', function ($uibModalInstance,$compile) { 
     var $ctrl = this; 
     $ctrl.buttonArray = []; 

     $ctrl.cancel2 = function() { 
     $uibModalInstance.dismiss('cancel');  
     }; 

     $ctrl.add2 = function(){   
     $ctrl.buttonArray.push('message' + $ctrl.buttonArray.length) 
     }; 

     $ctrl.message = function() { 
     alert('Message'); 
     }; 

}); 

HTML:

<div ng-app="app" ng-controller="postoviCtrl as $ctrl"> 

     <script type="text/ng-template" id="modalOdabraniPost.html"> 

      <div class="modal-body"> 
         <p>Header</p> 
         <hr/> 
         <button class="btn btn-sm" type="button" ng-click="$ctrl.add2()">Add</button> 

         <div id="content"> 
          <button ng-repeat="btn in $ctrl.buttonArray" class="btn btn-primary btn-sm" type="button" ng-click="$ctrl.message()">{{btn}}</button>' 
         </div> 
      </div> 
      <div class="modal-footer"> 
       <button class="btn btn btn-primary" type="button" ng-click="$ctrl.cancel2()">Close</button> 

      </div> 
     </script> 

     <a href="" class="label label-danger" ng-click="$ctrl.open2()">Open</a> 

    </div>