zoukankan      html  css  js  c++  java
  • vue子父组件传值

    最基础的字符组件传值,简单的TODOList

    1、父传 子  props  也可以理解成属性值

    2、 子传父  $emit

    3、监听回车事件

         (1) @keyup.enter

         (2) @keydown="test"   

              test(ev){if(ev.keyCode===13)}

    4、因为vue是MVVM   所以几乎全部操作数据,不操作dom

    5、代码

    <body>
    <div id="app">
    {{message}}
    <input type="text" v-model="msg" placeholder="请输入信息" @keydown="enterToLogin" /><button type="button" @click=addMsg>点击</button>
    <ul>
    <to-item v-for="(item,index) in msgs" :conment="item" :index="index" @delete="deleteItem"></to-item>
    </ul>
    </div>

    </body>
    <script type="text/javascript" src="vue.js"></script>
    <script>
    //回车事件
    //@keyup.enter="addMsg"


    //抽出组件

    //全局组件
    /*Vue.component('ToItem',{
    props:['conment','index'],//父像子传值 ==》props
    template:'<li @click="buddleDelete">{{this.conment}}</li>',
    methods:{
    buddleDelete(){
    this.$emit('delete',this.index)//子像父传值==》$emit
    }
    }
    })*/



    //局部组件
    var toItem={
    props:['conment','index'],
    template:'<li>{{this.conment}}<li>',
    template:'<li @click="buddleDelete">{{this.conment}}</li>',
    methods:{
    buddleDelete(){
    this.$emit('delete',this.index)//子像父传值==》$emit
    }
    }
    }

    var vueEg=new Vue({
    el:'#app',
    data(){
    return {
    message:'hello',
    msg:'',
    msgs:[],
    }
    },
    components:{//一定记住是components =》 因为是多个
    toItem:toItem
    },
    methods:{
    addMsg(){
    this.msgs.push(this.msg)
    this.msg=''
    },
    deleteItem(index){//这里的index直接就能获取到
    this.msgs.splice(index,1)//在当前坐标下 删除一个元素
    },
    enterToLogin(ev){//利用keydown来实现回车事件
    if(ev.keyCode === 13)
    this.addMsg();
    }
    }
    });
    </script>

  • 相关阅读:
    第四次上机作业
    第十一周作业
    Java第九次上机作业
    Java第八次上机作业
    Java第七次上机作业
    第八周作业
    Java第六次上机作业
    第七周作业
    Java第五次上机作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/lmxxlm-123/p/9006428.html
Copyright © 2011-2022 走看看