Vue.js “我如何解决?”;未捕获类型错误:无法读取属性';添加';“无效”的定义;在组件vue上?

Vue.js “我如何解决?”;未捕获类型错误:无法读取属性';添加';“无效”的定义;在组件vue上?,vue.js,slider,vuejs2,vue-component,vuex,Vue.js,Slider,Vuejs2,Vue Component,Vuex,我的vue组件如下所示: <template> <div class="row"> <div class="col-xs-6 col-sm-6 col-md-3" v-for="item in items"> <!-- this is images slider --> </div> </div> </template> <scrip

我的vue组件如下所示:

<template>
    <div class="row">
        <div class="col-xs-6 col-sm-6 col-md-3" v-for="item in items">
            <!-- this is images  slider -->
        </div>
    </div>
</template>
<script>
    export default {
        ...
        mounted() {
            this.getTopLeague([{league_id: this.leagueId}]) // this is ajax if load first
            setTimeout( function(){ 
                $('.slick').slick({slidesToShow: 4, infinite: false});
            }  , 10000 ); // I set 10 seconds for the finished ajax process just started the slider
        },
        ...
        methods: {
            changeLeague(leagueId) {
                this.getTopLeague([{league_id: leagueId}]) // this is ajax if a link clicked    
                setTimeout( function(){ 
                    $('.slick').slick({slidesToShow: 4, infinite: false});
                }  , 10000 );  //I set 10 seconds for the finished ajax process just started the slider
            }
        }
    }
</script>

导出默认值{
...
安装的(){
this.gettoplague([{league\u id:this.leagueId}])//如果先加载,这就是ajax
setTimeout(函数(){
$('.slick').slick({slidesToShow:4,infinite:false});
},10000);//我为完成的ajax进程设置了10秒,只是启动了滑块
},
...
方法:{
变革联盟(联盟){
this.gettoplague([{league\u id:leagueId}])//如果单击链接,这就是ajax
setTimeout(函数(){
$('.slick').slick({slidesToShow:4,infinite:false});
},10000);//我为完成的ajax进程设置了10秒,只是启动了滑块
}
}
}
如果执行代码,则存在如下错误:

<template>
    <div class="row">
        <div class="col-xs-6 col-sm-6 col-md-3" v-for="item in items">
            <!-- this is images  slider -->
        </div>
    </div>
</template>
<script>
    export default {
        ...
        mounted() {
            this.getTopLeague([{league_id: this.leagueId}]) // this is ajax if load first
            setTimeout( function(){ 
                $('.slick').slick({slidesToShow: 4, infinite: false});
            }  , 10000 ); // I set 10 seconds for the finished ajax process just started the slider
        },
        ...
        methods: {
            changeLeague(leagueId) {
                this.getTopLeague([{league_id: leagueId}]) // this is ajax if a link clicked    
                setTimeout( function(){ 
                    $('.slick').slick({slidesToShow: 4, infinite: false});
                }  , 10000 );  //I set 10 seconds for the finished ajax process just started the slider
            }
        }
    }
</script>
未捕获的TypeError:无法读取null的属性“add” 在jQuery.fn.init.a.fn.slick

错误发生在10秒或ajax进程完成后

我将滑块设置为10秒后运行,因为如果ajax进程没有完成,则会出现错误


如何解决此问题?

请使用一个!注意setTimeout内的作用域…是的,如果你想让人们调试,请使用小提琴…很难弄清楚你在做什么,但我猜你的意思是,如果ajax调用不能在10秒内完成,会抛出一个错误,不是吗?如果是这样的话,你应该考虑AJAX调用异步运行,依赖代码块应该用回调函数编写(例如,<代码> .DONE())/>代码>如果使用jQuery或<代码>,则(…)/代码>如果AXIOS……我已经解决了它。用法:
$('.slick')。不('.slick初始化')。slick({slidesToShow:3,infinite:false})如下所示: