2017-07-21 5 views
0

Ich habe versucht, dies zu implementieren:folgende Tutorial auf vue2 Website können nicht Dritte jQuery-Plugin erhalten select2 zu arbeiten

https://vuejs.org/v2/examples/select2.html

Ich bin nicht SPA machen, obwohl ich Vue Komponenten in meiner Seite verwende.

[Vue warn]: Error in mounted hook: "TypeError: $(...).select2 is not a function"

in

fand ich erhalte diese Störung

Error in mounted hook: "TypeError: $(...).select2 is not a function" 

found in <Select2> at 
C:\laragon\www\lara\resources\assets\js\components\ui\Select2.vue 

ich beide select2 und meine vuejs in der HTML-Datei enthalten:

<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script> 
<script src="{{ asset('js/content_type_blocks.js') }}?{{ str_random(7) }}"></script> 

Ich frage mich, warum ich das bekommen Fehler, dass select2 keine Funktion ist?

+3

Haben Sie jQuery umfassen auch? – Bert

+2

Klingt wie jQuery nicht geladen ist. Was passiert, wenn Sie '$' oder 'jQuery' in der Konsole eingeben? – Terry

+0

ja ich schließe es auch ein. Ich benutze ein anderes jquery plugin colorpicker, aber ich konnte das erst nach dem Einfügen in die package.json Datei: "bootstrap-colorpicker": "^ 2.5.0" bekommen, und dann als Komponente in meine App importieren .vue mit Import BootstrapColorPicker von 'Bootstrap-Colorpicker' und dann konnte ich dieses Plugin verwenden. aber ich kann nicht finden, wie man in package.json select2 wie ich mit colorficker installiere, da select2 anscheinend nicht Knotenpaket –

Antwort

2

Zu der Zeit, als Select2-Plugin initialisiert wurde, war jquery noch nicht in einem globalen Stack geladen.


vorschlagen mehrere Lösungen:

  • nur Select2 über NPM npm install --save select2 hinzufügen und dann importieren
  • ich freundlicher Selectize.js Außerdem verwenden würde Ihnen raten, eine ready-to-use ist Vue- Komponente vue2-selectize. pls auch bei diesem Leistungstest aussehen: https://jsperf.com/chosen-select2-selectize
  • können Sie versuchen, eine ähnliche Lösung zu verwenden, die speziell für die Vue geschrieben: https://github.com/monterail/vue-multiselect
Verwandte Themen