Angular 挣扎于 ng-repeat

Angular struggling with ng-repeat

当我只有一项时,我在使用 ng-repeat 时遇到了一些问题。

这是我的控制器中的部分代码:

Data.get('company').then(function(data){
        $scope.subDomains = data;
    });

这里是我的 html 之前的代码是 运行:

<div id="subdomains">
    <ul>
        <li style="margin: 5px;" ng-repeat="sub in subDomains">{{sub.subdomain}} : <button type="button" class="btn btn-mav" ng-click="removeAccount(sub.subdomain);">Remove</button></li>
    </ul>
</div>

代码是 运行 之后是我的 html:(注意只有一个 li 有一个子域)因此我只想显示一个 li

<div id="subdomains">
<ul>
<!-- ngRepeat: sub in subDomains -->

<li style="margin: 5px;" ng-repeat="sub in subDomains" class="ng-binding ng-scope"> : <button type="button" class="btn btn-mav" ng-click="removeAccount(sub.subdomain);">Remove</button></li>
<!-- end ngRepeat: sub in subDomains -->

<li style="margin: 5px;" ng-repeat="sub in subDomains" class="ng-binding ng-scope">jason : <button type="button" class="btn btn-mav" ng-click="removeAccount(sub.subdomain);">Remove</button></li>
<!-- end ngRepeat: sub in subDomains -->

<li style="margin: 5px;" ng-repeat="sub in subDomains" class="ng-binding ng-scope"> : <button type="button" class="btn btn-mav" ng-click="removeAccount(sub.subdomain);">Remove</button></li>
<!-- end ngRepeat: sub in subDomains -->

<li style="margin: 5px;" ng-repeat="sub in subDomains" class="ng-binding ng-scope"> : <button type="button" class="btn btn-mav" ng-click="removeAccount(sub.subdomain);">Remove</button></li>
<!-- end ngRepeat: sub in subDomains -->

<li style="margin: 5px;" ng-repeat="sub in subDomains" class="ng-binding ng-scope"> : <button type="button" class="btn btn-mav" ng-click="removeAccount(sub.subdomain);">Remove</button></li>
<!-- end ngRepeat: sub in subDomains -->
</ul>
</div>

这里是控制台日志:

Object {apiversion: "2", data: Object, event: Object, func: "listsubdomains", module: "SubDomain"}
    apiversion:"2"
    data:Object
      basedir:"public_html"
      dir:"/home/XXXXX/public_html"
      domain:"jason.XXXXX.com"
      domainkey:"jason_XXXXX.com"
      reldir:"home:public_html"
      rootdomain:"XXXXX.com"
      status:"not redirected"
      subdomain:"jason"

我试图只列出子域。当我有多个时,它工作得很好,但如果我只有一个,我会得到我发布的结果。

尝试关注

Data.get('company').then(function(data){
    if(angular.isArray(data))
        $scope.subDomains = data;
    else
        $scope.subDomains = [data];

});

希望对您有所帮助

如果您使用 ng-repat="sub in subDomains" 并且 subDomains 是一个 object,那么每个 [=11] 都会有一个重复=].请确保您的 subDomains 始终是一个 array,即使只有一个或 none 项存在。