Most basic computed KO binding

Builds on "Most basic" by showing ko.computed

by ozzymcduff

HTML

<script src="https://github.com/downloads/SteveSanderson/knockout/knockout-2.0.0.debug.js"></script>
<p>Name: <input data-bind='value: firstName' /></p> 
<p>Name: <input data-bind='value: lastName' /></p> 
<p>FullName: <strong data-bind='text: fullName()' ></strong>

CSS

body { font-family: arial; font-size: 14px; }
p { margin: 0.9em;  }

JavaScript

// Here's my data model
var viewModel = {
    firstName: ko.observable("Sky"),
    lastName: ko.observable("King"),
};

viewModel.fullName = function() {
// Knockout tracks dependencies automatically. It knows that fullName depends on firstName and lastName, because these get called when evaluating fullName.
    return viewModel.firstName() + " " + viewModel.lastName();
};


// This makes Knockout get to work
ko.applyBindings(viewModel);