Обновление materializecss с 0.100.1 до 1.0.0 приводит к множественным ошибкам JavaScript - PullRequest
2 голосов
/ 10 мая 2019

Я пытаюсь обновить свой materializecss с 0.100.1 до 1.0.0. Я следовал руководству по обновлению и применил все изменения в своем коде, но я все еще сталкиваюсь с множественными ошибками JavaScript. В нашем приложении мы используем vue 2.6.10.

Вкладки:
Наши вкладки отображаются компонентом vue:

<ul class="tabs timerange" id="timeTab" style="width: 90%">
    <input type="hidden" id="time" v-model="$parent.syncData.currentTime">
    <li style="width:75px; display: inline-block" v-bind:data-time="value"
        v-for="(value,key) in $parent.syncData.timeGrid"
        class="tab">
        <a class="text-black" v-bind:href="'#tab_'+key"
           v-on:click="$parent.setTime(value)">{{value}} h</a>
    </li>
</ul>

Затем они инициализируются в отдельном javascript с помощью jquery:

$(document).ready(function() {
    $('#timeTab').tabs();
});

Это приводит к следующей ошибке: tabs javascript error Я уже пытался инициализировать их в обратных вызовах created() и updated() компонента vue, но безуспешно.

Выпадающее:
Для выпадающих я получаю следующую ошибку: dropdown javasript error Эта ошибка воспроизводится, когда я комментирую свой код для выпадающего списка и заменяю его примером кода из materializecss docs .

Как я могу исправить ошибки такого рода или где хорошее начало для отладки?

1 Ответ

1 голос
/ 24 мая 2019

У нас были некоторые повторные инициализации в коде. А также некоторые были инициализированы с jquery, а некоторые нет. Очистка инициализации и только инициализация компонентов один раз без jquery исправили ошибки.

materializecss проверяет, существуют ли уже экземпляры для данных элементов, и если они это сделают, они будут уничтожены и повторно инициализированы, но в процессе уничтожения мы получили ошибки.

...