Я пытаюсь использовать функции javascript в Materialise CSS в моем проекте Svelte. У меня есть Navbar, который вызывается в app.svelte. Я позвонил M.AutoInit (); в теги сценария app.svelte, например, так:
<script>
import "../node_modules/materialize-css/dist/css/materialize.min.css";
import "../node_modules/materialize-css/dist/js/materialize.min.js";
import { Router, Route } from "svelte-routing";
import { setupI18n, isLocaleLoaded, locale } from "./services/i18n";
import { derived } from "svelte/store";
import Home from "./pages/Home.svelte";
import About from "./pages/About.svelte";
import Navbar from "./layout/Navbar.svelte";
$: if (!$isLocaleLoaded) {
setupI18n({ withLocale: "jp" });
}
M.AutoInit();
</script>
{#if $isLocaleLoaded}
<Router>
<Navbar />
<Route path="/" component={Home} />
<Route path="/about" component={About} />
</Router>
{:else}
<p>Loading...</p>
{/if}
Я добавляю необходимые javascript в мой файл Navbar.svelte, как в материализации css документации здесь.
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.sidenav');
var instances = M.Sidenav.init(elems, options);
});
Однако нажатие кнопки мобильного гамбургера не вызывает боковое меню. Кроме того, консоль браузера говорит, что «параметры» не определены.