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 项存在。
当我只有一项时,我在使用 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 项存在。