I have a viewModel which contains an observable folder object (undefined on initialization)
I have a foreach template that should display the files of the folder, which is not working.
Html
<div data-bind="template: { if: currentFolder(), foreach: currentFolder.files }">
<div style="padding: 10px; border: 1px solid #000; background-color: #f0f0f0">
<span data-bind="text: $data"></span>
</div>
</div>
<button type="button" id="button">Set current folder</button>
Javascript
var viewModel = {
currentFolder: ko.observable()
};
ko.applyBindings(viewModel);
document.getElementById('button').onclick = addCurrentFolder;
function addCurrentFolder() {
var folder = {
files: [ "File 1", "File 2", "File 3" ]
};
viewModel.currentFolder(folder);
// does nothing
console.log(viewModel.currentFolder());
};
Try and execute your currentFolder observable in the foreach