Here we go, I tried to modify the example a bit to show what I mean. I am trying to use another computed to parse the incoming values for the text box, but that doesn't seem to be working as intended...
<input data-bind="value: computedJoinedValues" />
<hr/>
<ul data-bind="foreach: computedSplitValues">
<li data-bind="text: $data"></li>
</ul>
var ViewModel = function() {
this.value = ko.observable("");
//create a separate observableArray and use a subscription to keep it updated
this.splitValues = ko.observableArray([
"test",
"test2",
"test3",
"test4"
]);
this.value.subscribe(function(newValue) {
this.splitValues(newValue.split(","));
}, this);
//compute the split values from the original observable
this.computedSplitValues = ko.computed(function() {
return this.value().split(",");
}, this);
this.computedJoinedValues = ko.computed(function() {
return this.splitValues().join(",");
}, this);
};
ko.applyBindings(new ViewModel());