2012-03-31 2 views
0

Stellen Sie ein extrem einfaches Knockout.js-Beispiel zusammen, um zu erfahren, wie es funktioniert.Warum lädt einfache knockout.js Standardansicht unendlich?

Ich erkannte sofort, dass es unendlich lädt und bewirkt, dass der Browser einen Stackoverflow macht. Im Grunde läuft es standardmäßig runRoute und stoppt nicht! http://jsfiddle.net/hn5JS/

Der Grundcode:

function AlloyViewModel() { 
    // Data 
    var self = this; 
    self.appViews = ['Dashboard', 'Engine', 'Map', 'Jobs', 'Clients', 'Users']; 
    self.currentAppView = ko.observable(); 

    // Behaviours 
    self.goToAppView = function(appView) { 
     location.hash = '/' + appView; 
    }; 

    // Client-side routes  
    Sammy(function() { 
     this.get('#/:folder', function() { 
      self.currentAppView(this.params.appView); 
     }); 
     this.get('', function() { this.app.runRoute('get', '#Dashboard') }); 
    }).run(); 

}; 

ko.applyBindings(new AlloyViewModel()); 

Ist das ein Problem mit sammy.js oder meinem eigenen Code mit dem Debugger

A jsFiddle, die Sie voll erleben und kontrollieren? Muss ich eine andere Version von jQuery verwenden? Danke für die Hilfe.

Antwort

3

Konnte die Lösung herausfinden. Durch das Umschließen von ko.applyBindings(new AlloyViewModel()); in einer jQuery document.ready-Funktion wurde es erfolgreich ausgeführt. Es scheint, dass es Probleme mit Datenbindungen gibt, wenn das DOM nicht vollständig geladen ist.