2017-05-15 84 views
1

我想使用filterng-bind中的數組中獲得一個結果。我想要做如下limitTo和angularJs中的過濾器

<h1 ng-bind="item.Description as item in Items | filter: {id: someID}"></h1> 

我想從Items設置h1item.Description其中someID來自下拉。這意味着,當我從下拉菜單中選擇時,h1通過篩選Items,SomeID來設置。這就像h1 = Items.FirstOrDefault(x => x.id == someID).Description

回答

2

的這裏的問題是ng-bind不會recoginize的item in items語法。但正如你在標題中提到的,你可以利用limitTong-repeat來達到或多或少相同的結果。像這樣:

<h1 ng-repeat="item in items | filter: {id: someId} | limitTo: 1"> 
    {{item.Description}} 
</h1> 

working example(爲someId爲簡化起見使用的號碼輸入)

1

如果你有一個下拉,那麼你知道選擇是什麼(通過ng模型)。你有的代碼是使用ng-bind,但它是ng-repeat的文本。最好的辦法是有一個方法,在控制器上:

getItemDescription() { 
    const selection = this.form.dropdown.selection; // Holds the dropdown 'selection' object (from the ng-model on your select dropdown); 
    return Items.find((item) => item === selection).description; 
} 

那麼你的HTML變爲:

<h1 ng-bind="vm.getItemDescription()"></h1>