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'));