这似乎很容易,但两个小时后我的头疼了.
我有一个categoryIndex(来自一个选择),我想从具有该Id的observableArray中获取该类别.
我怎么做的?我尝试使用indexOf(但我不确定它是如何工作的,当然我看了doc),我尝试了linq.js但是Where很难使用或者我很愚蠢(我不知道如何从类别中获取Id并比较它).
我的observableArray是这样的:
categories[category { Id=2, Name="Pink", ...}, category { Id=1, Name="Green", ...}]
Run Code Online (Sandbox Code Playgroud)
所以,如果我的索引是2,我只需要一种方法来获得"粉红色"类别.
谢谢.
编辑:
viewModel.addNote = function() {
var selectedCategoryIndex = $("#Categories").val();
var selectedCategory = ko.utils.arrayFirst(this.categories(), function(item) {
return item.Id === selectedCategoryIndex;
});
}.bind(viewModel);
Run Code Online (Sandbox Code Playgroud)
RP *_*yer 46
我通常使用KO实用程序函数ko.utils.arrayFirst来执行此类操作.它只是遍历一个数组并返回与传递给它的谓词匹配的第一个项.
你会像这样使用它:
selectedId = 2;
var category = ko.utils.arrayFirst(categories(), function(category) {
return category.Id === selectedId;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21142 次 |
| 最近记录: |