Это сработало для меня, так что вы можете попробовать это:
Перейдите в файл src/main.js
и добавьте следующие строки (если предполагается, что вы используете npm
):
import 'materialize-css/dist/js/materialize.min'
Лично я использую M.AutoInit()
способ инициализации компонентов JS для каждого компонента vue, который в них нуждается:
<template>
<div class="componentName">
<!-- Some HTML content -->
</div>
</template>
<script>
export default {
name: 'componentName',
data() {
return {
// Some values
};
},
mounted() {
M.AutoInit(); // That way, it is only initialized when the component is mounted
}
}
</script>
<style scoped>
/* Some CSS */
</style>
Использование M.AutoInit()
или
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.collapsible');
var instances = M.Collapsible.init(elems, options);
});
внутри функции mounted
вашего компонента вызовет их, только когда они полностью смонтированы.