【问题标题】:ng-repeat nested inside Popover not working嵌套在 Popover 内的 ng-repeat 不起作用
【发布时间】:2014-12-02 10:44:22
【问题描述】:

我有以下 ng-repeat 列表:

<div class="row msf-row" 
     ng-repeat="record in recordlist 
     people-popover>
       <div class="col-md-1 msf-centered" ng-show="editItem == false" ng-hide="editItem"> 
          <button class="btn btn-primary form-control msf-paxlist" 
                  rel="popover" 
                  data-content="<li ng-repeat='passanger in record.pax'>
                                   {{passanger.name}}
                                </li>" 
                  data-original-title="Passanger List">
              {{record.pax.length}} <i class="fa fa-user"></i>
          </button>
       </div>
</div>

我使用指令初始化弹出框:

.directive('peoplePopover', function() {
    return function(scope, element, attrs) {
        element.find("button[rel=popover]").popover({ placement: 'bottom', html: 'true'});
    };
})

问题是&lt;li ng-repeat="pasanger in record.pax"&gt;{{pasanger.name}}&lt;/li&gt;,它不会显示。

如果我使用&lt;li ng-repeat="record.pax"&gt;{{pax}}&lt;/li&gt;,它将显示数组,但如果我尝试使用 ng-repeat 列出数组的对象,它将不起作用。

这是数组(记录)的样子:

record in recordlist {
    date : "02/12/2014"
    time : "00.02.01"
    car : "369"
    pax: [
        {
        name : "Ben"
        chosen : true
        },
        {
        name : "Eric"
        chosen : true
        }
    ]
}

有什么建议吗?

【问题讨论】:

  • 能否包含您要显示的数组的结构?
  • 对我来说看起来不错。只是为了确认 - recordlist 是对象还是数组?
  • 数组,上面的代码是来自recordlist(数组)的一个对象(记录)
  • 遇到同样的问题!似乎不支持数据内容中的 ng-repeat。

标签: javascript angularjs twitter-bootstrap popover


【解决方案1】:

我遇到了类似的问题,我就这样解决了。

我将 ng-repeat 块包装在另一个指令中,并将集合传递给该外部指令。

div class="row msf-row" 
     ng-repeat="record in recordlist 
     people-popover>
       <div class="col-md-1 msf-centered" ng-show="editItem == false" ng-hide="editItem"> 
          <button class="btn btn-primary form-control msf-paxlist" 
                  rel="popover" 
                  data-content="<new-directive records=record.pax></new-directive>" 
                  data-original-title="Passanger List">
              {{record.pax.length}} <i class="fa fa-user"></i>
          </button>
       </div>
</div>

在新指令中,您将拥有这段代码。

<li ng-repeat='passanger in record.pax'>
         {{passanger.name}}
</li>

希望这可以帮助遇到类似问题的人。

【讨论】:

  • 我正在尝试这个,但我无法让它工作。你能发布你的整个指令吗?
猜你喜欢
  • 1970-01-01
  • 2014-02-27
  • 2015-11-30
  • 2014-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多