2015-09-04 70 views
1

我正在为我的移动网络应用使用移动Angular UI框架。使用MobileAngularUI动态生成模态

This Page解释了如何生成模态指令(他们稍微改变引导框架)

我设法复制的例子,但是当我换行指令在NG重复生成多个情态动词,它是没有任何工作更

<div ui-content-for="modals"> 
    <div ng-repeat="p in UseCaseCtrl.getProjects()" > 
     <div class="modal" ui-if="modal{{ p.getId() }}" ui-state="modal{{ p.getId() }}"> 
     <div class="modal-backdrop in"></div> 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
      <div class="modal-header"> 
       <button class="close" 
         ui-turn-off="modal{{ p.getId() }}">&times;</button> 
       <h4 class="modal-title">{{ p.getName() }}</h4> 
      </div> 
      <div class="modal-body"> 

       ...Lorem... 

      </div> 
      <div class="modal-footer"> 
       <button ui-turn-off="modal{{ p.getId() }}" class="btn btn-default">Close</button> 
       <button ui-turn-off="modal{{ p.getId() }}" class="btn btn-primary">Save changes</button> 
      </div> 
      </div> 
     </div> 
     </div> 
    </div> 
    </div>   

至于我经历过,这个问题似乎来自UI状态=“模式{{p.getId()}},因为它再次工作时,我只写死一个(即set ui-state =“modal1”)

我错过了什么吗?使用ng-repeat生成模态的任何解决方法?

感谢

回答

1

我的控制器,而不是ui-turn-on="modal{{ p.getId() }}使用ng-click = "functionName(p.getId())

详情:

$scope.functionName = function (id) { 
    SharedState.initialize($rootScope, 'modal'+id); 
    $rootScope.Ui.turnOn('modal'+id); 
}; 

注意:您需要注射对sharedState的控制器。

我做到了,成功!

+0

太棒了,它工作的很好!我是一种模式,用户可以进行一些更改,并在“保存”PUT请求时被触发。如果该承诺返回成功,以下代码将关闭我的模式:'$ rootScope.Ui.turnOff('nameOfModal');' –