JSFiddle - React, Tailwind, and code Playground
HTML
<button data-bind="click: generate">Generate</button>
<button data-bind="click: pushNewValue, visible: itemsFromGenerator().length > 0">PushNewValue</button>
JavaScript
function ViewModel(itemGenerator) {
var self = this;
this.itemsFromGenerator = ko.observableArray();
this.generate = function() {
self.itemsFromGenerator(ko.utils.unwrapObservable(itemGenerator()));
};
this.pushNewValue = function() {
self.itemsFromGenerator.push("D");
};
this.itemsFromGenerator.subscribe(function(newValue) {
console.log(newValue);
});
}
function generator() {
var arr = ["A", "B", "C"];
//return arr;
return ko.observableArray(arr);
}
var viewModel = new ViewModel(generator);
ko.applyBindings(viewModel);