@click没有效果?

Vue.component('set-menu',{

        template:'<ul><li v-for="item in ht" v-bind:data-id="item.id"><div @click="_click"><i class="s-font" v-bind:class="item.iconClass"></i>{{item.name}}</div><ul v-if="item.oth"><li v-for="items in item.oth"><i class="s-font" v-bind:class="items.iconClass"></i>{{items.name}}</li></ul></li></ul>',

        data:function(){

            var datas;

            $.ajax({

                type:"get",

                url:"data.json",

                async:false,

                cache:false,

                success:function(data){

                    datas=data.sites;

                }

            });

            console.log(datas)

            return {ht:datas}

        },

        methods:{

            _click:function(){

                this.$emit('click',function(){

                    alert(123)

                })

            }

        }

    })


胡子哥哥
浏览 752回答 1
1回答

慕尼黑8549860

你可以好好看看你写的这个@click函数,他是触发了这个'set-menu'组件的click事件,并且把一个包含了alert操作的匿名函数当做了参数传给了'set-menu'组件的click事件方法,所以这个要看'set-menu'&nbsp;上的是click事件怎么处理的,是不是运行了这个传递过去的匿名函数,可以修改_click函数直接alert就好,不是出发set-menu的click事件就好了。小建议:组件中的异步操作,最好还是放到生命周期函数里面执行
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript