美文网首页
组件:子传父 对话框小练习

组件:子传父 对话框小练习

作者: 纪美 | 来源:发表于2018-09-21 14:41 被阅读0次

把子组件中的数据传递到父组件中
例:

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>子给父传值</title>
 </head>
 <body>
 <div class="itany">
   <father></father>
 </div>
<script src="./vue.js"></script>
<script>
    Vue.component('father',{
        template:`
            <div>
                <h1>{{num2}}</h1>
                <child @meth='the'></child>
            </div>
        `,
        data:function(){
            return{
                num2:''
            }
        },
        methods:{
            the:function(txt){
                this.num2=txt
            }
        }
    })
    Vue.component('child',{
        template:`
            <button @click="show">传给父元素</button>
        `,
        data:function(){
            return{
                num:'我是子组件,我要传值给父组件'
            }
        },
        methods:{
            show:function(){
                this.$emit('meth',this.num)
            }
        }
    })
    new Vue({
        el:'.itany'
    })
    </script>
</body>
</html>

注释:点击按钮时,就会弹出父组件传给子组件的数据

练习1:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>子给父传值练习</title>
</head>
<body>
 <div class="itany">
   <father></father>
</div>
<script src="vue.js"></script>
<script>
    Vue.component('father',{
        template:`
            <div>
                <h1>我是父元素</h1>
                <p>请传值<b>{{mess}}</b></p>
                <child @show="the"></child>
            </div>
        `,
        data:function(){
            return{
                mess:""
            }
        },
        methods:{
            the:function(txt){
                this.mess=txt
            }
        }
    })
    Vue.component('child',{
        template:`
            <div>
                <h1>我是子元素</h1>
                <input type="text" v-model="arr">
                <button @click="add">传值</button>
            </div>
        `,
        data:function(){
            return{
                arr:""
            }
        },
        methods:{
            add:function(){
                this.$emit('show',this.arr)
            }
        }
    })
    new Vue({
        el:'.itany'
    })
    </script>
</body>
</html>

注释:可以把子组件中input的value传递到父组件的p标签中去
练习2:制作一个聊天对话框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>对话框</title>
</head>
<body>
<div class="itany">
    <father></father>
</div>
<script src="vue.js"></script>
<script>
    Vue.component('father', {
        template: `
            <div>
                <ul>
                    <li v-for="(value,index) in one">{{value}}</li>
                </ul>
            <child @show="the" userName='jack'></child>
            <child @show="the" userName='roce'></child>
            </div>
        `
        , data: function () {
            return {
                one:[]
            }
        }
        , methods: {
            the: function (txt) {
                this.one.push(txt)
            }
        }
    })
    Vue.component('child', {
        props:['userName'],
        template: `
            <div>
                <label>{{userName}}</label>
                <input type="text" v-model="arr">
                <button @click="add">发送</button>
            </div>
        `
        , data: function () {
            return {
                arr: ''
            }
        }
        , methods: {
            add: function () {
                this.$emit('show',this.userName+':'+this.arr);
                this.arr=""
            }
        }
    })
    new Vue({
        el: ".itany"
    })
    </script>
</body>
</html>

点击前:



点击后:


相关文章

  • 组件:子传父 对话框小练习

    把子组件中的数据传递到父组件中例: 注释:点击按钮时,就会弹出父组件传给子组件的数据 练习1: 注释:可以把子组件...

  • 组件:子传父 对话框小练习

    把子组件中的数据传递到父组件中例: 注释:点击按钮时,就会弹出父组件传给子组件的数据 练习1: 注释:可以把子组件...

  • vue不同组件间传值方式

    父传子子传父非父子传值 1.父组件向子组件进行传值 父组件: 子组件: 2.子组件向父组件传值 子组件: 父组件:...

  • react父子组件传值

    1、父==》子组件传值父组件 子组件 2.子==》父组件传值子组件 父组件

  • Vue_组件间传值

    1、父组件传值给子组件2、子组件传值给父组件 1、父组件传值给子组件 2、子组件传值给父组件

  • vue2.0 父子组件传值

    父组件传值给子组件 子组件 子组件通过 props 接收值 父组件 父组件通过标签属性传值 子组件传值给父组件 子...

  • vue 中传值(父传子、子传父(传递多个事件)、eventBus

    1.0 父传子 父组件向子组件传值:子组件用props:['值'] 接收 ; 2.0 子传父 子组件向父组件传值 ...

  • 2018-07-26

    vue组件相关练习1、设计组件定义、分类(全局、局部组件)、2、组件传值、父传值给子组件,用props参数接收子传...

  • ReactNative组件间的通信

    父组件向子组件通信 父组件向子组件传值 父组件向子组件传递方法 子组件向父组件通信 子组件向父组件传值 子组件向父...

  • vue 组件之间传值方法

    1. 父组件向子组件传值 父组件: 子组件: 2. 子组件向父组件传值 子组件: 父组件: 3. 非父子之间传值 ...

网友评论

      本文标题:组件:子传父 对话框小练习

      本文链接:https://www.haomeiwen.com/subject/iqwanftx.html