JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>
<div class="container">
<label>RANGES</label>
<div class="rangeContainer" data-bind="foreach: ranges">
<div class="range"> <span>START <br /><span data-bind="text: start"></span></span> <span>END <br /><span data-bind="text: end"></span></span>
</div>
</div>
</div>
</div>
JavaScript
var ParentViewModel = function (data) {
var self = this;
self.ranges = ko.observableArray([]);
data.Ranges.forEach(function (range) {
self.ranges.push(new RangeViewModel(range));
});
};
var RangeViewModel = function (data) {
var self = this;
self.start = ko.observable(moment(data.Start).format('MM/DD/YYYY'));
self.end = ko.observable(moment(data.End).format('MM/DD/YYYY'));
};
var vm = new ParentViewModel({
Ranges: [{
Start: '/Date(1439438400000)/',
End: '/Date(1439611200000)/'
},
{
Start: '/Date(1439265600000)/',
End: '/Date(1439352000000)/'
}]
});
var element = $('.container')[0];
ko.applyBindings(vm, element);
ko.cleanNode(element);
ko.applyBindings(vm, element);