2016-10-03 66 views
0

所以我在我的控制器的以下簡單JSON:如何創建一個NG-重複模態自舉具有角

var app = angular.module('MyApp', []); 
app.controller('loadCtrl', function($scope,$http) { 

    $scope.buttons=[ 
    {Id:'1', type:'First Button' 
    }, 
    {Id:'2', type:'2nd Button' 
    }, 
    {Id:'3', type:'3rd Button' 
    } 
    ]; 
}); 

我認爲,我已經按鈕通過NG-重複產生的,模態附連到每個按鈕:

<div ng-app="MyApp" ng-controller="loadCtrl" class="container"> 
<div ng-repeat="button in buttons" class="btn-group"> 
    <div class="btn btn-sq-lg btn-primary" data-toggle="modal" ng-attr-data-target="{{button.type+'Opts'}}">{{button.type}} 
    </div> 



<!-- Modal --> 
<div ng-attr-id="{{button.type+'Opts'}}" class="modal fade" role="dialog"> 
    <div class="modal-dialog"> 

    <!-- Modal content--> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times;</button> 
     <h4 class="modal-title">{{button.type}}</h4> 
     <h5> Record:{{date | date:'yyyy-MM-dd-HH:mm:ss'}}</h5> 
     </div> 
     <div class="modal-body"> 
     <textarea name="Reason" class="form-control" rows="5" style="min-width: 100%"></textarea> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     </div> 
    </div> 

    </div> 
</div> 

但由於某些原因,該模式就是不露面。我嘗試添加ng-show屬性,但那也不起作用。不知怎的,ID不能正確生成。

+0

我推薦使用['ui.bootstrap'](https://angular-ui.github.io/bootstrap/ #/ modal)與Angular而不是Bootstrap jQuery插件。 – Phil

回答

2

您需要在data-target屬性中包含id選擇器'#'屬性,也用於選擇器工作按鈕類型不需要空間。

<div ng-app="MyApp" ng-controller="loadCtrl" class="container"> 
    <div ng-repeat="button in buttons" class="btn-group">   
    <div class="btn btn-sq-lg btn-primary" data-toggle="modal" data-target="{{'#' + button.type+'Opts'}}">{{button.type}} 
    </div> 



    <!-- Modal --> 
    <div id="{{button.type+'Opts'}}" class="modal fade" role="dialog"> 
     <div class="modal-dialog"> 

     <!-- Modal content--> 
     <div class="modal-content"> 
      <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title">{{button.type}}</h4> 
      <h5> Record:{{date | date:'yyyy-MM-dd-HH:mm:ss'}}</h5> 
      </div> 
      <div class="modal-body"> 
      <textarea name="Reason" class="form-control" rows="5" style="min-width: 100%"></textarea> 
      </div> 
      <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      </div> 
     </div> 

     </div> 
    </div> 

控制器:

var app = angular.module('MyApp', []); 
app.controller('loadCtrl', ['$scope', '$http', function($scope, $http) { 

    $scope.buttons = [{ 
    Id: '1', 
    type: 'FirstButton' 
    }, { 
    Id: '2', 
    type: '2ndButton' 
    }, { 
    Id: '3', 
    type: '3rdButton' 
    }]; 
}]); 

見工作演示here