问答详情
源自:3-4 实现todolist的删除功能

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>

提问者:qq_慕的地3155222 2019-07-15 09:32

个回答

  • 阳光下的老牛
    2021-01-08 17:13:00

    http://img.mukewang.com/5ff821b30001405206040084.jpg

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

  • 西贝小豪
    2019-10-18 16:23:16

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

  • weixin_慕瓜5021617
    2019-07-18 21:35:07

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

  • 千古风流浪里摇
    2019-07-17 13:02:00

    methods:{

    handleSumbit:function(){

    this.list.push(this.inputValue);

    this.inputValue = '';

    },

    handleDelete:function(index){

    this.list.splice(index,1);

    }

    }


  • qq_慕的地3155222
    2019-07-15 14:22:46

    https://img.mukewang.com/5d2c1ba000014f9906870308.jpg

    不是这个问题


  • 离歌笑_0002
    2019-07-15 14:16:41

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

    handleDelete:function(index){            

    this.list.splice(index,1)        

    }