I’m close to going nuts about this now and figured it’d be simple, however, there must be something I’m missing…
I’ve got a multidimensional array in a ko.observableArray, in which is so:
Site -> Company -> Job
For my data binds, data-bind="text: Site().Name" is fine, as you would expect. However, I can’t access the sub-arrays by data-bind="text: Site().Company().Name" or data-bind="text: Site().Company.Name".
Has anyone else had the same issue, or is there something I’m doing drastically wrong? The objects are 100% being loaded into the array properly as I can see them in the console.
If I understand your problem correctly and a
Sitecontains an observableArray ofCompanyobjects and eachCompanyobject contains an observableArray ofJobobjects, then your approach will not work.data-bind="text: Site().Company().Name"is trying to get theNameproperty of an observableArray that happens to containCompanyobjects. You could however writedata-bind="text: Site().Company()[0].Name"to get the name of the firstCompany.A more common approach would be to iterate through the items. Something like:
See http://knockoutjs.com/documentation/foreach-binding.html for more details.
Hope this is what you are looking for and apologies if I have misunderstood your question.