我是靠谱客的博主 诚心水蜜桃,最近开发中收集的这篇文章主要介绍vue-慕课-使用组件改造todoList,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

在上一节里,我们已经写了一个todoList,下面我将用全局组件和局部组件化把todoList拆分。

1.父组件向子组件传值

全局组件

父组件中相关代码
 Vue.component(
         "TodoList",{
             props:['content'],
             template:"<li>{{content}}</li>"
         }
     )
子组件中相关代码
 <!-- 注意不要忘记加v-bind -->
        <todo-list v-for="item in list" v-bind:content="item"></todo-list>

解析:

  1. 先定义一个全局化的组件TodoListtemplate代表模板,props代表接收从子组件传来的数据,里面是数组的形式。
    注意事项:
  • . 要使用**v-bind:**来绑定数据

局部组件

父组件相关代码
  // 局部组件化
    var todoList = {
        props: ['content'],
        template: "<li>{{content}}</li>"

    }

new Vue中添加components属性

 components:{
            todoList:todoList
        },

注意:

  • components应该是复数

子组件向父组件传值

当点击删除的时候就要用到这个啦,,感觉很麻烦,需要注意的地方也很多。

  1. 首先在template模板中加入点击事件。
        template: "<li @click='handleDelete'>{{content}}</li>",

  1. 在子组件里把handleDelete实现,这里使用this.$emit(“deleteindex”,this.index) 函数,传入父组件中。
handleDelete:function(){
                // alert("子组件"+this.index)
                this.$emit("deleteindex",this.index)
            }
  1. todo-list补充完整。
<todo-list v-for="(item,index) in list"
         v-bind:content="item" :index="index"
         @deleteindex="delete1"
        ></todo-list>

4.最后在父组件中实现delete1,实现删除功能。

 delete1: function(index){
                this.list.splice(index,1)
            }

注意:

  • @后面的一定不要有大写的字母,否则会报错
  • v-bind: 可以简写为 :

写于2020年情人节,祝天下有情人终成眷属


最后

以上就是诚心水蜜桃为你收集整理的vue-慕课-使用组件改造todoList的全部内容,希望文章能够帮你解决vue-慕课-使用组件改造todoList所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部