JSFiddle - React, Tailwind, and code Playground

by Deepak Anand

HTML

<div id="target"></div>

JavaScript

require([
        "dojo/_base/declare",
        
        "dijit/_WidgetBase",
        "dijit/_TemplatedMixin"

    ], function (declare, _WidgetBase, _TemplatedMixin) {

        var WidgetA = declare([_WidgetBase, _TemplatedMixin], {

            templateString: '<div><div data-dojo-attach-point="valueNode"></div></div>',

            value: 1,

            _setValueAttr: function(value){
                this.valueNode.textContent = value
                this._set("value", value)

            }

        })


        var widgetInstanceA = new WidgetA({
            value: 3, 
            test: "foo"
        })
        widgetInstanceA.placeAt(document.getElementById("target"))
        
        // Open console 
        // "test" is available as an instance property and also from the getter
        console.log(widgetInstanceA.test)
        console.log(widgetInstanceA.get("test"))
        

    })