повторить внутри динамического всплывающего окна - angularjs и ui-bootstrap

Я пытаюсь показать пользователю список элементов внутри всплывающего окна, которое находится внутри ng-repeat. Я использую angularjs, а также пакет ui-bootstrap (http://angular-ui.github.io/bootstrap/).

HTML

<div ng-repeat='session in sessions'>
     <p popover="{{session.items}}">view items</p>
</div>

Это покажет массив session.items для каждого сеанса, который содержит информацию, которую я хочу показать. Однако это также показывает скобки массива.

Кто-нибудь знает чистый способ сделать это?

любая помощь будет оценена, спасибо заранее


person Aaron    schedule 21.01.2014    source источник


Ответы (1)


С сайта ui-bootstrap вы можете прочитать

 uib-popover - Takes text only and will escape any HTML provided for   the popover body.

Поэтому, если вы укажете session.items, вы получите строку «[содержимое моего массива]». На мой взгляд, вам нужно использовать uib-popover-template там, где ваш шаблон будет выглядеть

 <div ng-repeat='session in sessions'>
   <p uib-popover-template="'urlToMyTemplateHere'">view items</p>
 </div>

 ------ Template
 <div ng-repeat="item in session.items" ng-bind="item"></div>

uib-popover-template принимает URL-адрес шаблона, поэтому вам нужно создать файл для его извлечения или попробовать этот подход (мне это не очень нравится, но только для тестирования)

 <div ng-repeat='session in sessions'>
   <p uib-popover-template="'iamabadapproachtemplate.html'">view items</p>
 </div>

 <script type="text/ng-template" id="iamabadapproachtemplate.html">
    <div ng-repeat="item in session.items" ng-bind="item"></div>
 </script>
person Matuszew    schedule 21.12.2016