将Materializecss从0.100.1升级到1.0.0会导致多个JavaScript错误

时间:2019-05-10 12:07:19

标签: javascript vue.js materialize

我正在尝试将我的实现从0.100.1升级到1.0.0。我遵循了upgrade guide并将所有更改应用到了我的代码中,但仍然遇到多个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>

然后使用jquery在单独的javascript中对其进行初始化:

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

这将导致以下错误: tabs javascript error 我已经尝试在vue组件的created()updated()回调中初始化它们,但是没有成功。

下拉菜单
对于下拉菜单,出现以下错误: dropdown javasript error 当我在下拉菜单中注释我的代码并将其替换为materializecss docs中的示例代码时,就会重现此错误。

我该如何解决这类错误,或者在哪里可以调试呢?

1 个答案:

答案 0 :(得分:1)

我们在代码中进行了一些重复的初始化。还有一些是用jquery初始化的,有些则没有。清理初始化并只初始化一次组件而无需使用jquery可以修复错误。

materializecss检查给定元素的实例是否已经存在,如果存在,它们将被销毁并重新初始化,但是在销毁过程中,我们得到了错误。