Edit in JSFiddle

var ViewModel = function() {
  this.showPlaylist = ko.observable(true);
  
  this.playlist = {
      name: ko.observable("My Playlist"),
      tracks: ko.observableArray([
        { name: ko.observable("Track 1") },
        { name: ko.observable("Track 2") },
        { name: ko.observable("Track 3") },
        { name: ko.observable("Track 4") }
     ])
  };   
}

ko.applyBindings(new ViewModel());
<input type="checkbox" data-bind="checked: showPlaylist" /> Show Playlist

<hr/>

<h2>Bindings in the same data-bind</h2>
<div data-bind="visible: showPlaylist, template: { name: 'playlistTmpl', data: playlist }"></div>

<hr/>
    
<h2>Bindings on different elements</h2>
<div data-bind="visible: showPlaylist">
    <div data-bind="template: { name: 'playlistTmpl', data: playlist }"></div>
</div>


<script id="playlistTmpl" type="text/html">
    <h3 data-bind="text: name"></h3>
    <ul data-bind="foreach: tracks">
        <li data-bind="text: name() + ' rendered at: ' + Date()"></li>
    </ul>
</script>
h2, h3 { font-weight: bold; }
h2 { font-size: 1.25em; }