30.12.2013 UPDATE: sieht so aus, als ob das ein häufiges Problem wäre, ich entscheide mich für den Grund.
Ich habe dasselbe Problem gelöst und es gelöst. Der Grund ist I
imported the js file twice
Ich schlage also vor, dass Sie auf der Seite, die dieses Skript enthält, nachsehen, ob es zweimal eingefügt wurde.
Yujings sagte es richtig! Es importierte die js zweimal. aktualisiert Mein "Fix" (ist definitiv mehr ein Workaround) war, dies in den Router zu legen.
%Vor%Wahrscheinlich nicht das Ideale, aber es hat seine Arbeit naiv gemacht.
Ich hatte dasselbe Problem wegen Turbolinks in meiner Rails 4 App. Diese Problemumgehung hat mir geholfen. Vielleicht hilft es dir auch:
%Vor%Diese Antwort finden Sie hier: Ссылка
Ihr Code scheint in Ordnung zu sein. Sind Sie sicher, dass Sie es genau einmal laden? Wenn Sie console.log () direkt vor history.start () setzen, wird das Protokoll genau einmal ausgedruckt?
Im Allgemeinen erhalten Sie diesen Fehler, wenn history.start () mehrmals aufgerufen wird. Sie müssen den zweiten Anruf finden, fürchte ich. Der Code, den Sie hier gepostet haben, reicht nicht aus, um ihn zu finden.
Ich bin auf dieses Problem gestoßen, weil ich require_tree in meiner application.js -Datei ausgeführt habe und meine Assets vorkompiliert habe.
Stellen Sie sicher, dass Sie keine public / assets -Datei haben, wenn Sie in Ihrer application.js require_tree verwenden. > Datei.
Wenn Sie requirejs verwenden, überprüfen Sie, ob Ihr Skript sich nicht selbst enthält - fügen Sie einfach console.error () beim Start hinzu und sehen Sie, wie oft es erscheint. Ich hatte es heraufgekommen, weil ich die Optimierungskonfiguration in die lineare Ausführung kopiert habe.
Tags und Links javascript backbone.js