vue语法01

<div id="app">
    <todo>
        <todo-title slot="todo-title" :title="title"></todo-title>
        <todo-item slot="todo-item" v-for="(item,index) in items" :item="item" :index="index" v-on:remove="removeItems"></todo-item>
    </todo>
</div>




 //todo组件
    Vue.component('todo',{
        template: '<div>'+
				'<slot name="todo-title"></slot>'+
				'<slot name="todo-item"></slot>'+
				'</div>'
    })
    //标题组件
    Vue.component('todo-title',{
        props:['title'],
        template: '<div>{{title}}</div>'
    })
    //内容组件
    Vue.component('todo-item',{
        props:['item','index'],
        template:'<li>{{index}}--->{{item}} <button @click="remove">删除</button></li>',
        methods:{
            remove:function () {
                this.$emit('remove');
            }
        }
    })
    var app = new Vue({
        <!-- el,element缩写,挂载元素 -->
        el: '#app',
        data:{
            title:'待办事项',
            items:['迪丽热巴','古力娜扎','玛尔扎哈']
        },
        methods:{
            removeItems:function (index) {
                this.items.splice(index,1);
            }
        }
    })

  

this.$emit("remove") 绑定自定义事件 v-on:remove="removeTime" 然后绑定父类的方法removeTime

  

posted @ 2021-01-26 11:26  L伟铭  阅读(62)  评论(0编辑  收藏  举报