Für mich wurde das behoben (nachdem ich viele Stunden lang meinen Kopf auf den Tisch geschlagen hatte), aber dafür sorgte, dass %code% vor %code% !!
deklariert wurdeWorks:
%Vor%Funktioniert nicht (init wird zweimal ohne Argumente aufgerufen):
%Vor%Es spielt keine Rolle, ob wir eine Instanz von "MyCompView" erhalten, nachdem beide deklariert wurden. "itemView" muss deklariert werden, bevor die CompView-Ansicht aufgerufen wird.
Ich möchte hinzufügen, dass die uglifying -Engine beim Verkleinern (Minimieren) von JavaScript die Dinge in der falschen Reihenfolge deklariert (d. h. CompositeView und ItemView können in umgekehrter Reihenfolge wie @Thomas Hudspith-Tatham und @simbolo deklariert werden). Das Problem tritt häufiger auf, wenn Sie Ihre Backbone.Marionette mit requireJS modularisieren und den Code optimieren (kompilieren).
Leider kenne ich keine garantierte Lösung, außer dass ich den Code neu kompiliert habe, der für mich funktioniert hat.
Ich teile meine Erfahrung. Es könnte jemandem helfen.
Ich hatte ähnliche Probleme. Bei Initial I dachte ich, dass das Ereignis zweimal ausgelöst wurde, aber in Wirklichkeit wurde es zweimal angehört, was zu einem ungewöhnlichen Anwendungsverhalten führt.
Mein Ereignis wurde einmal aus der Composite-Ansicht (ein Trigger) ausgelöst, wurde aber aufgrund zweier Instanzen des Contact-Controllers zweimal angehört (2).
Ich habe behoben, indem ich sicherstelle, dass ich nur einen Listener (eine Controller-Instanz) für ein bestimmtes Verhalten habe (in meinem Fall öffne ich einen Bearbeitungsdialog).
Hinweis. Ich habe mehrere Controller in meiner Anwendung und ich laden mit erfordern.
Danke für die obige Erklärung.
Ich hatte das gleiche Problem. Wenn in der Ansicht "Composite" keine itemView definiert ist, ruft sie bei jedem Ändern der Auflistung ihre Initialize-Funktion auf.
Ich habe das behoben, indem ich eine leere Ansicht als Elementansicht verwendet habe.
(Ich habe meine Composite-Ansicht für einen anderen Zweck verwendet und keine Objektansicht benötigt.)
Für mich wurde das behoben (nachdem ich viele Stunden lang meinen Kopf auf den Tisch geschlagen hatte), aber dafür sorgte, dass %code% vor %code% !!
deklariert wurdeWorks:
%Vor%Funktioniert nicht (init wird zweimal ohne Argumente aufgerufen):
%Vor%Es spielt keine Rolle, ob wir eine Instanz von "MyCompView" erhalten, nachdem beide deklariert wurden. "itemView" muss deklariert werden, bevor die CompView-Ansicht aufgerufen wird.
Ich möchte hinzufügen, dass die uglifying -Engine beim Verkleinern (Minimieren) von JavaScript die Dinge in der falschen Reihenfolge deklariert (d. h. CompositeView und ItemView können in umgekehrter Reihenfolge wie @Thomas Hudspith-Tatham und @simbolo deklariert werden). Das Problem tritt häufiger auf, wenn Sie Ihre Backbone.Marionette mit requireJS modularisieren und den Code optimieren (kompilieren).
Leider kenne ich keine garantierte Lösung, außer dass ich den Code neu kompiliert habe, der für mich funktioniert hat.
Ich teile meine Erfahrung. Es könnte jemandem helfen.
Ich hatte ähnliche Probleme. Bei Initial I dachte ich, dass das Ereignis zweimal ausgelöst wurde, aber in Wirklichkeit wurde es zweimal angehört, was zu einem ungewöhnlichen Anwendungsverhalten führt.
Mein Ereignis wurde einmal aus der Composite-Ansicht (ein Trigger) ausgelöst, wurde aber aufgrund zweier Instanzen des Contact-Controllers zweimal angehört (2).
Ich habe behoben, indem ich sicherstelle, dass ich nur einen Listener (eine Controller-Instanz) für ein bestimmtes Verhalten habe (in meinem Fall öffne ich einen Bearbeitungsdialog).
Hinweis. Ich habe mehrere Controller in meiner Anwendung und ich laden mit erfordern.
Danke für die obige Erklärung.
Ich hatte das gleiche Problem. Wenn in der Ansicht "Composite" keine itemView definiert ist, ruft sie bei jedem Ändern der Auflistung ihre Initialize-Funktion auf.
Ich habe das behoben, indem ich eine leere Ansicht als Elementansicht verwendet habe.
(Ich habe meine Composite-Ansicht für einen anderen Zweck verwendet und keine Objektansicht benötigt.)
Für mich wurde das behoben (nachdem ich viele Stunden lang meinen Kopf auf den Tisch geschlagen hatte), aber dafür sorgte, dass ItemView
vor CompositeView
!!
Works:
%Vor%Funktioniert nicht (init wird zweimal ohne Argumente aufgerufen):
%Vor%Es spielt keine Rolle, ob wir eine Instanz von "MyCompView" erhalten, nachdem beide deklariert wurden. "itemView" muss deklariert werden, bevor die CompView-Ansicht aufgerufen wird.
Danke für die obige Erklärung.
Ich hatte das gleiche Problem. Wenn in der Ansicht "Composite" keine itemView definiert ist, ruft sie bei jedem Ändern der Auflistung ihre Initialize-Funktion auf.
Ich habe das behoben, indem ich eine leere Ansicht als Elementansicht verwendet habe.
(Ich habe meine Composite-Ansicht für einen anderen Zweck verwendet und keine Objektansicht benötigt.)
Ich möchte hinzufügen, dass die uglifying -Engine beim Verkleinern (Minimieren) von JavaScript die Dinge in der falschen Reihenfolge deklariert (d. h. CompositeView und ItemView können in umgekehrter Reihenfolge wie @Thomas Hudspith-Tatham und @simbolo deklariert werden). Das Problem tritt häufiger auf, wenn Sie Ihre Backbone.Marionette mit requireJS modularisieren und den Code optimieren (kompilieren).
Leider kenne ich keine garantierte Lösung, außer dass ich den Code neu kompiliert habe, der für mich funktioniert hat.
Ich teile meine Erfahrung. Es könnte jemandem helfen.
Ich hatte ähnliche Probleme. Bei Initial I dachte ich, dass das Ereignis zweimal ausgelöst wurde, aber in Wirklichkeit wurde es zweimal angehört, was zu einem ungewöhnlichen Anwendungsverhalten führt.
Mein Ereignis wurde einmal aus der Composite-Ansicht (ein Trigger) ausgelöst, wurde aber aufgrund zweier Instanzen des Contact-Controllers zweimal angehört (2).
Ich habe behoben, indem ich sicherstelle, dass ich nur einen Listener (eine Controller-Instanz) für ein bestimmtes Verhalten habe (in meinem Fall öffne ich einen Bearbeitungsdialog).
Hinweis. Ich habe mehrere Controller in meiner Anwendung und ich laden mit erfordern.
Tags und Links jquery backbone.js marionette backbone-views