我有一个非常基本的数组
[
{
ticketId: 1,
name: "John",
},
{
ticketId: 124,
name: "Ads"
}
]
我在选择中显示数据
<ul class="dropdown-menu">
<li ng-repeat="ticket in tickets">
<a href="#">{{ticket.ticketId}}</a>
</li>
</ul>
但是如何使用代码中另一个位置的选定票证中的数据
喜欢
<tr>
<th>Name</th>
<td>{{???}}</td>
</tr>
控制器
$http.get(ticketAPIBaseUrl + '/tickets/' + customerNumber,
{withCredentials: false}).then(response => {
console.log(response);
vm.tickets = response.data;
}, error => {
console.log(error);
});
答案 0 :(得分:1)
您可以像这样使用filter
:
HTML:
<input type="number" ng-model="tick"/>
<table>
<tr ng-repeat="ticket in tickets | ticketFilter:tick">
<td>{{ticket.name}}</td>
<td>{{ticket.ticketId}}</td>
</tr>
</table>
JS:
app.filter('ticketFilter', function(){
return function(data, tick){
if (!tick) return data;
var ticketItems = [];
angular.forEach(data, function(item){
if(item.ticketId == tick) {
ticketItems.push(item);
}
});
return ticketItems;
};
})
答案 1 :(得分:1)
使用ng-click
指令:
<ul class="dropdown-menu">
<li ng-repeat="ticket in tickets">
<a ng-click="selected=ticket">{{ticket.ticketId}}</a>
</li>
</ul>
然后显示selected
项:
<tr>
<th>Name</th>
<td>{{selected.name}}</td>
</tr>
有关更多信息,请参见AngularJS ng-click Directive API Reference。