JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://rawgit.com/mikeric/sightglass/master/index.js"></script>
<script src="https://rawgit.com/mikeric/rivets/master/dist/rivets.js"></script>
<h1>
Name getter: { name }
</h1>
<input rv-value="name" />
JavaScript
var model;
rivets.configure({
handler: function (target, event, binding) {
this.call(binding.view.models);
}
});
model = {
_name: 'Hear me?',
get name() {
console.log('getter is called?')
return this._name
},
set name(v) {
console.log('setter is called', v)
this._name = v;
}
};
rivets.bind(document.body, model);
console.log(typeof model.name);
console.log(Object.getOwnPropertyDescriptor(model));
var
obj = JSON.parse(JSON.stringify(model));
console.log("obj before : ", obj);
Object.keys(obj).reduce(function (obj, key) {
if (obj["_" + key] === obj[key]) {
delete obj["_" + key];
}
return obj;
}, obj);
console.log("obj after : ", obj);