• 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>

  • 相关阅读:
    【洛谷P3368】 【模板】树状数组 2
    树状数组
    【codevs1519】 过路费
    【洛谷P3398】 仓鼠找sugar
    【洛谷P2912】 [USACO08OCT]牧场散步Pasture Walking
    字符串哈希函数
    【洛谷P3498】 [POI2010]KOR-Beads
    NOIp2011 选择客栈
    【洛谷P1381】单词背诵
    P3396 哈希冲突
  • 原文地址:https://www.cnblogs.com/lmxxlm-123/p/9006428.html
Copyright © 2020-2023  润新知