2013-07-03 34 views
2

我正在寻找一种将角色中的对象传递给对话框的方法。我希望能够以模式显示表格中的文字,但这似乎不起作用。模态出现在点击事件上,但它没有从对象中获取任何文本。将角度复制对象添加到对话框

下面是这个普拉克代码,以便你能明白我的意思: http://plnkr.co/edit/ETy10U?p=preview

我想说,这是不是与角一个错误,但我不知道。

+0

'resolve:{item:angular.copy(item)}'解决了这个问题。但我不知道那是为什么。几个小时前,我使用了'resolve:{item:function(){return angular.copy(item);}}'它工作正常。这很奇怪。 – 2013-07-03 19:50:24

+0

太棒了!这工作完美。 – Gunther

+1

正如一些额外的信息,第一个解决方案:{item:angular.copy(item)}'工作,因为我使用的是旧版本的ui-bootstrap。 '解决方案:{item:function(){return angular.copy(item);}}'在0.4.0上工作。 – Gunther

回答

1

您正试图使Angular UI $dialog像模态一样工作,即使Angular UI已经有directive for modals

在这种情况下,你会想设置一个标志显示模式(示例使用$scope.shouldBeOpen),然后设置你想要当标志设置为true$scope.item

<div modal="shouldBeOpen" close="close()" options="opts"> 
    <div class="modal-header"> 
     <h3>I'm a modal!</h3> 
    </div> 
    <div class="modal-body"> 
     <ul> 
      <li ng-repeat="item in items">{{item}}</li> 
     </ul> 
    </div> 
    <div class="modal-footer"> 
     <button class="btn btn-warning cancel" ng-click="close()">Cancel</button> 
    </div> 
</div> 

到disaply项目,模态将被显示。为了关闭它,您需要有一个将标志设置为false的功能。