我试图将所选值从select option binding
传递给计算的可观察数组,但得到undefined
错误:我可以在视图模型中访问此值吗?
我需要传递选定的值(ArtistId)
,以便我可以显示相册列表中的数据:
如果我只是对一个值进行硬编码,那就可以了。
示例:
self.albumList = ko.computed(function () {
return ko.utils.arrayFilter(discography(), function (item) {
// Pass Selected Artist ID here instead of hard coding.
return item.ArtistId === '1';
});
});
这是一个有效的JSFiddle:
答案 0 :(得分:1)
计算的observable可以访问任何其他可观察对象。因此,您需要访问selectedArtist
observable:
self.albumList = ko.computed(function () {
if (self.selectedArtist()) {
return ko.utils.arrayFilter(self.discography(), function (item) {
return item.ArtistId === self.selectedArtist().ArtistId;
});
}
});