我希望使用ng-bind
从filter
中的数组中获取一个结果。我想做如下
<h1 ng-bind="item.Description as item in Items | filter: {id: someID}"></h1>
我想将h1
设置为item.Description
Items
,其中someID
来自下拉列表。这意味着,当我从下拉列表中进行选择时,h1
是通过Items
过滤SomeID
来设置的。它就像h1 = Items.FirstOrDefault(x => x.id == someID).Description
答案 0 :(得分:2)
此处的问题是ng-bind
无法识别item in items
语法。但正如您在标题中提到的那样,您可以将limitTo
与ng-repeat
一起使用,以获得或多或少相同的结果。像这样:
<h1 ng-repeat="item in items | filter: {id: someId} | limitTo: 1">
{{item.Description}}
</h1>
working example(为了简单起见,使用了someId
的数字输入)
答案 1 :(得分:1)
如果您有下拉列表,那么您就知道选择的内容(通过ng-model)。您拥有的代码使用的是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>