为了账号安全,请及时绑定邮箱和手机立即绑定

handleclick 哪儿报错

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    </head>
    <body>
        <div id="root">
            <div>
                <input v-model="inputValue" />
                <button @click="handleSubmit">提交</button>
            </div>
            <ul>
                <!-- <li v-for="(item,index) of list" :key="index"> -->
                <!--     {{item}} -->
                <todo-item v-for="(item,index) of list"
                :key="index"
                :content='item'
                :index="index"
                @delete='handleDelete'          监听handleDelete事件
                >
                </todo-item>
                <!-- </li> -->
            </ul>
        </div>
        <script>
            Vue.component('todo-item',{
                props: ['content',index],
                template: '<li @click='handleClick'>{{content}}</li>',
                methods: handleClick: function(){
                     this.$emit('delete',this.index)
                     }
                }
                
            })
            
            new Vue({
                el:"#root",
                data:{
                    inputValue: "",
                    list: []
                },
                methods: {
                    handleSubmit: function(index){
                        this.list.push(this.inputValue)
                        this.inputValue = ''
                },
                handleDelete:function(){
                    this.list.splice(index,1)
                }
                
            }
            })
        </script>
    </body>
</html>

正在回答

6 回答

http://img1.sycdn.imooc.com//5ff821b30001405206040084.jpg

我的理解,组件中methods是个对象,而不是一个函数,毕竟method带有s哦

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//5da976520001e48504460209.jpg这里应该写成methode:{handleClick:function(){........}}

0 回复 有任何疑惑可以回复我~

应该用双引号 @click="HandClick"index   而且上面漏了单引号  props:['content','index']

0 回复 有任何疑惑可以回复我~

methods:{

handleSumbit:function(){

this.list.push(this.inputValue);

this.inputValue = '';

},

handleDelete:function(index){

this.list.splice(index,1);

}

}


0 回复 有任何疑惑可以回复我~

https://img1.sycdn.imooc.com//5d2c1ba000014f9906870308.jpg

不是这个问题


0 回复 有任何疑惑可以回复我~

你的method方法,掉了参数index,应该为

handleDelete:function(index){            

this.list.splice(index,1)        

}


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

handleclick 哪儿报错

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信