JSFiddle - React, Tailwind, and code Playground

by vpetrychuk

HTML

<script src="http://underscorejs.org/underscore.js"></script>
<script src="http://backbonejs.org/backbone.js"></script>
<div data-container>
    <div data-something>smthng</div>
</div>

JavaScript

var View = Backbone.View.extend({
    el : '[data-container]',
    ui : {
        something : '[data-something]'
    },
    someFn : function () {
        this.$use(this.ui.something).css('background', '#999');
        return this;
    },
    $use : function (selector) {
        console.log(typeof this.ui[selector] === 'undefined' ? 'dom query' : 'already cached');
        var $selector = this.ui[selector] === selector ?
            this.ui[selector] :
            this.$(selector);

        return this.ui[selector] = $selector;
    }
});

new View().someFn().someFn().someFn();