0
我試圖做的下一件事:Knockout.js的foreach爲元素,以新的視圖模型
<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)
被調用時,作爲參數結束到ElementViewModel(Element)
的element
它的整個集合從foreach綁定(elementsVM.elementsList
)而不是來自foreach迭代中的當前元素。 elementsVM是ElementsViewModel:
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() {
[...]
}
}
}
我不能使用$數據,因爲我嵌套了foreach。我會嘗試使用自定義綁定。謝謝! – VladN
我知道自定義綁定正在成爲我的「轉到」響應,但它對於很多情況非常有幫助! –