JSFiddle - React, Tailwind, and code Playground

by nveron

HTML

<script src="https://github.com/downloads/SteveSanderson/knockout/knockout-2.0.0.debug.js"></script>

<div data-bind="text: prop1"></div>
<div data-bind="text: prop2"></div>

CSS

ul {
    border: 1px solid #CCC;
    position: absolute;
}

JavaScript

ko.bindingHandlers.position = {
    init : function (element, valueAccessor)
    {
        
    },
    update: function (element, valueAccessor)
    {    
        var value = valueAccessor();
        value.left($(element).position().left);
        value.top($(element).position().top);
    }
}; 

var viewModelParent = function() {
    this.prop1 = ko.observable('val prop1');
    this.prop2 = ko.observable('val prop2');    
}

var MyViewModel = new viewModelParent();

ko.applyBindings(MyViewModel);


function getVal(obj, str)
{
    return getValue(obj, str.split('.'));
}

function getValue(){
    var x = arguments;
    var i=0, v = x[i];
    while ( x[++i] ) { v = v[x[i]]; }
    return v;
}


var a =  { 
    prop1: 'bla',
    prop2 : {
            sprop1: 'val sprop1'                
            }
          };

//alert(a.hasOwnProperty('prop2.sprop1'));

alert(getValue(a, 'prop2.sprop1'));