JSFiddle - React, Tailwind, and code Playground

by Vikash Kumar Gupta

HTML

<h4>First instance, without parameters</h4>
<div data-bind='component: "message-editor"'></div>
 
<h4>Second instance, passing parameters</h4>
<div data-bind='component: {
    name: "message-editor",
    params: { initialText: initialText }
}'></div>

<label>initialText: </label><input type="text" data-bind="value:initialText" />

JavaScript

ko.components.register('message-editor', {
    viewModel: function(params) {
        this.text = params && params.initialText || '');
    },
    template: 'Message: <input data-bind="value: text" /> '
            + '(length: <span data-bind="text: text().length"></span>)'
});

ko.components.register('select-bind', {
    viewModel: function(params) {
        this.optionArr = params && params.initialText || '';
    },
    template: 'Message: <input data-bind="value: text" /> '
            + '(length: <span data-bind="text: text().length"></span>)'
});

var ViewModel = function(){
	var self= this;
  self.initialText = ko.observable("Hello My World!!!");
}
 
ko.applyBindings(new ViewModel());