美文网首页
2018-09-23同级之间传值

2018-09-23同级之间传值

作者: 酒窝仙女 | 来源:发表于2018-09-23 19:57 被阅读0次

一:父子组件通信(对话)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <one></one>
    </div>
    <script src="vue.js"></script>
    <script>
        Vue.component('one',{
            template:`
                <div>
                    <two @send='news' newName='A'></two>
                    <two @send='news' newName='B'></two>
                    <ul>
                        <li v-for='value in arr'>{{value}}</li>
                    </ul>                    
                </div>
            `,
            data:function(){
                return{
                    arr:[]
                }
            },
            methods:{
                news:function(txt){
                    this.arr.push(txt)
                }
            }
        })
        
        Vue.component('two',{
            props:['newName'],
            template:`
                <div>
                    <label>{{newName}}</label>
                    <input type='text' v-model='name'>
                    <button @click='btn'>发送</button>
                </div>
            `,
            data:function(){
                return{
                    name:''
                }
            },
            methods:{
                btn:function(){
                    this.$emit('send',this.newName+':'+this.name)
                }
            }
        })
        
        new Vue({
            el:'#app'
        })
    </script>
</body>
</html>

屏幕展示:对话形式

1.png 2.png 3.png

生命周期

4.png 5.png

代码展示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
   <div id='app'>{{msg}}</div>
    <script src='js/vue.js'></script>
    <script>
       new Vue({
           el:'#app',
           data:{
               msg:'hello vue'
           },
           beforeCreate:function(){
               alert('beforeCreated');
           },
           created:function(){
               alert('created')
           },
           beforeMount:function(){
                 alert('beforMount')
           },
           mounted:function(){
               alert('mounted')
           }
       })
    </script>
</body>
</html>

屏幕展示:弹出多个弹出框beforeCreate;created;beforeMount;mounted,,之后出现'hello vue'

6.png 7.png

③非父子传值:同级之间传值可以借助第三方(①父传子:用属性传;②:子传父:用事件传)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <one></one>
        <two></two>
    </div>
    <script src="vue.js"></script>
    <script>
        var q = new Vue();
        
        Vue.component('one',{
            template:`
                <div>
                    <h1>这是one组件</h1>
                    <button @click='bt'>传送</button>
                </div>
            `,
            data:function(){
                return{
                    msg:'这是一句话'
                }
            },
            methods:{
                bt:function(){
                    q.$emit('send',this.msg)
                }
            }
        })
        
        Vue.component('two',{
            template:`
                <div>
                    <h1>这是two组件</h1>
                    <a href=''>{{msg1}}</a>
                </div>
            `,
            data:function(){
                return{
                    msg1:''
                }
            },
            mounted:function(){
                q.$on('send',msg=>{
                    console.log(this);
                    this.msg1=msg
                })
            }
        })
        
        new Vue({
            el:"#app"
        })
    </script>
</body>
</html>

屏幕展示:点击按钮

8.png 9.png

相关文章

  • 2018-09-23同级之间传值

    一:父子组件通信(对话) 屏幕展示:对话形式 生命周期 代码展示 屏幕展示:弹出多个弹出框beforeCreate...

  • 同级之间传值

    一.父子组件 1.父组件到子组件通讯父组件到子组件的通讯主要为:子组件接受使用父组件的数据,这里的数据包括属性和方...

  • 组件之间的传值之非父子(同级之间的传值用第三方量)

    同级之间的传值1:body部分: Document

  • 同级传值

    1、什么是同级传值? 同级传值又叫非父子传值,第三方量:var = new Vue();使用$on()事件监听。 ...

  • 2018-09-22 vue初学8.1(非父子间的传值)

    非父子间的传值也可以理解为同级之间的传值 在非父子传值中主要声明了一个:var 变量 = new Vue(); ...

  • 同级传值

    1.生命周期 2.父子通讯练习: Vue.component('chat',{ 3.同级传值: var bus =...

  • 同级传值

    同级传值——非父子关系,借助第三方量 例子: 父子组件通信例子: 生命周期:Vvue-js-的生命周期_03.gi...

  • RN --- 组件传值

    正向传值 A->B 反向传值 A -> B -> A 同级数据交换 标题栏与其所属的页面之间的交互1.通过生命周期...

  • react子组件向父组件传值

    相关资料:react 父组件怎么获取子组件的这个值React组件间信息传递方式react同级组件之间传值 • 父...

  • Vue同级传值

    1.同级传:非父子关系:第三方量 var bus=new Vue(); 使用 $on() 监听事件 2.生命的周期

网友评论

      本文标题:2018-09-23同级之间传值

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