ko.mapping create function, extend object

http://stackoverflow.com/questions/9779969/ko-mapping-create-function-extend-object

by db_dev

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.0.0.debug.js"></script>
<script src="https://rawgithub.com/SteveSanderson/knockout.mapping/master/build/output/knockout.mapping-latest.debug.js"></script>

JavaScript

var data = [{
    id: 0,
    child: {
        prop1: 'a',
        prop2: 'b'
    }
}, {
    id: 0,
    child: null
}];


var viewModel = {
    data: ko.mapping.fromJS([]),
};

var mappingOptions = {
    child: {
        create: function(options) {
            if (!options.data)
                return null;
            return ko.mapping.fromJS(options.data);
        }
    }
}

ko.mapping.fromJS(data, mappingOptions, viewModel.data);

$.each(viewModel.data(), function() {
    console.log(this.child)
})