vue.js父子组件间如何传递参数以及子组件的事件监听

html如下:

<div id="app">
        <input type="text" v-model="inputValue"/>
        <button @click="handlClick">提交</button>
        <ul>
            <todo-item v-for="(item,index) in List"
                        :content="item"
                        :index="index"
                        @delete="handleItemDelete"><!--content是定义的组件间传递的变量,@detele监听子组件的delete的handleItemClick事件-->
            </todo-item> 
        </ul>
    </div>

js:

var TodoItem = {
            props:["content","index"],
            template:"<li @click='handleItemClick'>{{content}}</li>",
            methods:{
                handleItemClick:function(){
                    this.$emit("delete",this.index)   //子组件向父组件传值
                }
            }
        }//注册的是局部组件,需要在对应ID下注册

        var app = new Vue({
            el:"#app",
            components:{
                TodoItem: TodoItem  //局部组件需要在父组件里面申明,一般申明以对象的形式
            },
            data: {
                List:[],
                inputValue:''
            },
            methods:{
                handlClick:function(){
                    this.List.push(this.inputValue)
                    this.inputValue = ''
                },
                handleItemDelete:function(index){
                    this.List.splice(index,1)
                }
            }
        })
    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值