Ich werde gebeten, eine neue HTML-Seite zu einem vuejs-Projekt hinzuzufügen. Diese Seite ist bereits vollständig entwickelt und basiert auf jquery und einigen twitter-bootstrap Funktionen.Bootstrap-Funktionen in eine benutzerdefinierte vuejs-Komponente einschließen
Ich habe eine neue Komponente erstellt.
newPage.vue
<template>
<div id="my-new-page">
...
</div>
</template>
<style src="path/to/_bootstrap.scss" lang="scss" scoped></style>
<style src="path/to/font-awesome.scss" lang="scss" scoped></style>
<style src="path/to/animate.css" scoped></style>
<style src="path/to/custom/css.css" scoped></style>
<script src="path/to/custom/js.js"></script>
js.js
import jQuery from 'jquery';
// Same error even with window.$ = window.jQuery = jQuery;
import collapse from 'path/to/bootstrap/feature/collapse.js";
export default {
created() {
runjQuery(jQuery);
},
};
function runjQuery($) {
// here is how I thought integrate the jquery script of the new html page
$(function() {
....
$('#navbar').collapse('hide');
});
}
Aber das ist offensichtlich nicht funktionieren, weil collapse.js
nicht jQuery
zugreifen kann, und ich erhalte diese Störung
Uncaught ReferenceError: jQuery is not defined
Wie behebe ich dieses Problem?
Vorausgesetzt, ich möchte (wenn möglich) Bootstrap und Jquery global zu meinem Projekt hinzufügen, weil dies hier und da in meinen anderen Komponenten sicherlich bricht?
Haben Sie sich Vue-Strap angeschaut? https://wffranco.github.io/vue-strap/ – enriqg9
@ enriqg9 gibt es nicht alle Funktionen, die ich brauche, z. B. – smarber
kollabieren Ich vermute, dass Sie die geklammerte Form von "Import" benötigen. Siehe https://StackOverflow.com/a/43546877/392102 –