localStorage
是一个对象,我想要迭代的多维数组(localStorage.add
)与其他数组一起存储。
<tr ng-repeat = "(key, value) in localStorage track by $index" ng-if = "localStorage.add.length > $index || localStorage.subject.length > $index || localStorage.emailContent > $index" >
<td>
<input type="checkbox" ng-checked="checkAllEmail" ng-model="selectedEmail"/>
<a href="#">
<span class="glyphicon glyphicon-star-empty"></span>
</a>
</td>
<td >
{{localStorage.add[$index]}}
<td>
<td >
{{localStorage.subject[$index]}}
<td>
<td >
{{localStorage.emailContent[$index]}}
<td>
</tr>
这是localStorage.add
数组 - [["Elizabeth","Caroline"],["Patricia"],["Madhu"]]
。
{{localStorage.add[$index]}}
显示
["Elizabeth","Caroline"]
["Patricia"]
["Madhu"]
我只想显示数组中的值。因此,例如,{{localStorage.add[1][0]}}
显示"Patricia"
而非["Patricia"]
。有没有人有关于如何实现这一点的想法?我尝试了{{localStorage.add[$index][$index]}}
,它只显示Elizabeth
({{localStorage.add[0][0]}}
)而不显示["Elizabeth"]
。所以,我正在寻找类似于{{localStorage.add[$index][$index]}}
的东西,它适用于数组中的所有元素。
为了避免混淆,我的应用程序正在按预期工作。我只是不希望用户看到我将这些值存储在数组中。这是最终输出应该是这样的:
Elizabeth,Caroline
Patricia
Madhu
答案 0 :(得分:0)
您需要将数组转换为字符串,因此在您的控制器中,创建一个您的视图可以调用的函数并获取返回的字符串,例如:
<tr ng-repeat = "(key, value) in localStorage track by $index" ng-if = "localStorage.add.length > $index || localStorage.subject.length > $index || localStorage.emailContent > $index" >
<td>
<input type="checkbox" ng-checked="checkAllEmail" ng-model="selectedEmail"/>
<a href="#">
<span class="glyphicon glyphicon-star-empty"></span>
</a>
</td>
<td>
{{getNames(localStorage.add[$index])}}
<td>
<td >
{{localStorage.subject[$index]}}
<td>
<td >
{{localStorage.emailContent[$index]}}
<td>
</tr>
这将在您的控制器中,您可以根据需要更改分隔符
$scope.getNames = function(names){
return names.join(',')
}
您可以直接在视图中执行此操作:
localStorage.add[$index].join(',')
但我不推荐它,如果它有效(不确定)