title: Why do I have to call applyBindings again after changing view model's property?
body: <p>Here's the <a href="http://jsfiddle.net/GhFuS/1/" rel="nofollow">fiddle</a>.</p>
  
  <p>I have a view model where part of the data will be available after some user interaction.</p>
  
  <p>Since the <code>applyBindings</code> is already called at document ready, why is it necessary to call again during a button click event?</p>
  
  <p>HTML:</p>
  
  <pre><code>&lt;p&gt;first name:
      &lt;input type="text" data-bind="value: ray.firstName" /&gt;
  &lt;/p&gt;
  &lt;p&gt;last name:
      &lt;input type="text" data-bind="value: ray.lastName" /&gt;
  &lt;/p&gt;
  &lt;p&gt;first name:
      &lt;input type="text" data-bind="value: joe.firstName" /&gt;
  &lt;/p&gt;
  &lt;p&gt;last name:
      &lt;input type="text" data-bind="value: joe.lastName" /&gt;
  &lt;/p&gt;
  </code></pre>
  
  <p>JS:</p>
  
  <pre><code>function person(firstNm, lastNm) {
      this.firstName = firstNm;
      this.lastName = lastNm;
  }
  
  function myApp() {
      this.ray = new person();
      this.joe = new person();
  }
  
  var app = new myApp();
  app.ray = new person('ray', 'cheng');
  ko.applyBindings(app);
  
  $('#showName').on('click', function () {
      app.joe = new person('joe', 'public');
      ko.applyBindings(app); // &lt;-- why is this needed since applyBindings already called above.
  });
  </code></pre>