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>

JavaScript

var data = {
    name: 'name1',
    items: [{
        name: 'name11',
        value: 'a',
        items: [
            {name: 'name111'}, 
            {name: 'name112'}
        ]
    }, {
        name: 'name11',
        items: [
            {name: 'name111'}, 
            {name: 'name112'}
        ]
    }]
};

var mapped = ko.mapping.fromJS(data, {
    'items': {
        key: function(item) {
            console.log(item);
            return item.name;
        },
        create: function(options) {
            return new Attribute(options.data);
        }
    }
});

//console.log(mapped.items()[0].items());