J'ai réussi à rassembler un exemple en combinant les approches des 2 liens ci-dessus. Voici le jsFiddle avec le script du poste: http://jsfiddle.net/chetanbaheti/zGXr6/3/
Il y a 2 vues (onglets) - la maison et les fournisseurs avec des jetons d'histoire correspondants
DemoApp.view.HomeTab
DemoApp.view.ProvidersTab
Chaque onglet est géré par son contrôleur correspondant qui est responsable de la création d'un instance de la vue et enregistrement d'un jeton d'historique.
DemoApp.controller.HomeController
//and its history token
this.uiToken = 'MainTabPanel,HomeTab';
Le travail de gestion de l'état initial ui se fait par les fonctions d'application:
initializeHistoryHandling
setUiState
Alors que le travail de changer le jeton d'histoire sur la sélection des onglets (par action de l'utilisateur) se fait par la vue principale contrôleur:
DemoApp.controller.ViewportController:onTabpanelTabChange
Ceci gère bien l'état d'ui basé sur l'URL et vice versa.