JSFiddle - React, Tailwind, and code Playground
by ZenMaster
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/knockout/3.0.0/knockout-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.js"></script>
<div>
<ul data-bind="foreach: a.items">
<li data-bind="click: $root.select, text: name"></li>
</ul>
</div>
<div data-bind="with: selected">
<span data-bind="text: name"></span>
</div>
CSS
li {
border: 1px solid #ccc;
height: 44px;
}
JavaScript
var data = {
a: {
items: [{name: 'name 1'}, {name: 'name 2'}, {name: 'name 3'}]
},
selected: undefined,
select: function(item) {
mapped.selected(item)
}
};
var mapped = ko.mapping.fromJS(data, {
items: {
key: function(item) {
return item.name;
}
}
});
ko.applyBindings(mapped);