将内容作为角带弹出窗口中的对象传递

时间:2015-01-16 17:54:30

标签: javascript angularjs angular-strap

我正在尝试执行以下操作:

我有一个json数组问题,我这样传递:

<a href=""
  ...
  title="Questions"
  data-content="{{item.questions}}"
  data-template="popover.question.tpl.html"
  ...
  bs-popover>
    {{item.questions.length}}
</a>

和模板&#39; popover.question.tpl.html&#39;包含以下代码:

<div class="popover">
  <div class="arrow"></div>
  <h3 class="popover-title" ng-bind="title" ng-show="title"></h3>
  <div class="popover-content" ng-model="content">
  <ul>
    <li class="animate-repeat" ng-repeat="question in content">
      {{question.text}}
    </li>
  </ul>
  </div>
</div>

问题可能是指令将内容作为字符串传递,导致ng-repeat无法正常工作。如果我只评估&#34; {{content}}&#34;我在我的div中获得了实际的json数据,但显然我无法使用它。有关如何做到这一点的任何想法?我为它创建一个单独的控制器(我想避免)?

1 个答案:

答案 0 :(得分:2)

数据内容只接受字符串。所以对象不能通过它。 Angular-strap popover将继承其打开的范围。

因此,在您的popover.question.tpl.html中,您可以直接访问item.questions。

<div class="popover">
  <div class="arrow"></div>
  <h3 class="popover-title" ng-bind="title" ng-show="title"></h3>
  <div class="popover-content" ng-model="content">
  <ul>
    <li class="animate-repeat" ng-repeat="question in item.questions">
      {{question.text}}
    </li>
  </ul>
  </div>
</div>

检查此plunker以获取工作示例。