私は次のことをしようとしています:
<div data-bind="foreach: { data: elementsVM.elementsList, as: 'element' }">
<div data-bind="with: new ElementViewModel(element).getElementDetailsByLang(langFilter)">
<h3 data-bind="html: ElementTitle"></h3>
</div>
</div>
問題は、with: new ElementViewModel(element).getElementDetailsByLang(langFilter)
が呼び出されたときに、 foreach 反復の現在の要素ではなく、foreach バインディング () のコレクション全体がelement
パラメーターとして終了することです。elementsVM は ElementsViewModel です。ElementViewModel(Element)
elementsVM.elementsList
function ElementsViewModel() {
var self = this;
self.ElementsList = ko.observableArray();
self.getElementsForCategory = function(categoryId) {
[...]
}
}
ElementViewModel は次のようになります。
function ElementViewModel(Element) {
var self = this;
self.ElementModel = new ElementModel(Element);
self.getElementDetailsByLang = function (lang) {
return ko.computed(function () {
[...]
}
}
}