Ich habe zwei etwas andere Chart.js Plugins definiert und ich habe eine Seite mit zwei verschiedenen Diagrammen. Ich möchte das erste Plugin auf das erste Diagramm und das zweite auf das zweite Diagramm anwenden.Anwenden/Registrieren von in Konflikt stehenden Plugins in verschiedenen Diagrammen
Entsprechend der source gibt es eine Register- und Entregistrierungsfunktion für Plugins, aber Sie registrieren sie zu einer globalen Variable 'Chart.plugins'.
Ich habe eine Lösung wie diese versucht:
Chart.plugins.register(plugin1);
window.myBar = new Chart(...);
Chart.plugins.unregister(plugin1);
Chart.plugins.register(plugin2);
window.myBar2 = new Chart(...);
Chart.plugins.unregister(plugin2);
aber es scheint, diese beiden Plugins hebt die Registrierung, bevor etwas passiert. Und wenn ich die Plugins nicht abmelden will, überschreibt das zweite Plug-in alles, was das erste Plugin tut.
Außerdem scheint es nicht möglich, ein Plugin direkt zu einem bestimmten Diagramm zu registrieren, da zum Beispiel 'windows.myBar.plugins' nicht definiert ist.
Weiß jemand, ob es eine andere Lösung gibt?
Edit1: Ich dachte über eine mögliche Problemumgehung nach, indem ich die verschiedenen Verhaltensweisen der Plugins als Optionen der einzelnen Diagramme spezifiziere und dann ein einzelnes Plugin definiere, das auf den spezifischen Optionen eines Diagramms basiert. Aber ich würde immer noch gerne wissen, ob es eine Möglichkeit gibt, Plugins auf ein bestimmtes Diagramm anzuwenden.
Danke! Dies scheint die beste Lösung zu sein. Ich habe mein Plugin sehr modular und basierend auf den in den Optionen angegebenen Parametern gemacht. Aber diese Lösung löst das Problem direkt (und eignet sich besser zum Ausprobieren/Prototyping!) – David