Pourquoi $ root est-il requis ici?

Je suis juste se référant aux tutoriels de knockout.js:

http://learn.knockoutjs.com/#/?tutorial=webmail

Dans l'INTERFACE utilisateur, le marquage est:

<!-- Folders -->
<ul class="folders" data-bind="foreach: folders">
    <li data-bind="text: $data,
                   css: { selected: $data == $root.chosenFolderId() },
                   click: $root.goToFolder"></li>
</ul>

et c'est ViewModel est:

function WebmailViewModel() {
    //Data
    var self = this;
    self.folders = ['Inbox', 'Archive', 'Sent', 'Spam'];
    self.chosenFolderId = ko.observable();

    //Behaviours    
    self.goToFolder = function(folder) { self.chosenFolderId(folder); };    
};

ko.applyBindings(new WebmailViewModel());

Quelqu'un peut-il me dire qu'est ce qu'est $root et pourquoi est-elle nécessaire? Si je le supprime, il ne fonctionne pas.

source d'informationauteur Tim Tom