• vue 非子父组件间的数据传递


    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>vue 非子父组件间的数据传递</title>
    <script src='vue.js'></script>
    </head>
    <body>

    <script>
    // 全局组件
    // Vue.component('my-hello',{
    // template:'<h1>hellow word!</h1>'
    // })


    var sub1=new Vue();
    var runoob1={

    data(){
    return{
    name:'第一个组件'
    }
    },
    template:'#runoob1',
    methods:{
    send(){
    // console.log(11)
    sub1.$emit('runoob1',this.name)
    }
    }


    }
    var runoob2={


    data(){
    return{
    name:'第二个组件'
    }
    },
    template:'#runoob2',
    methods:{
    send(){
    sub1.$emit('runoob2',this.name)
    }
    }

    }
    var runoob3={


    data(){
    return{
    name:''
    }
    },
    template:'#runoob3',
    mounted:function(){
    var self=this
    // 此时this指向为上没空vue实例发生变化 需提前定义好this var self=this
    // sub1.$on('runoob1',function(name){
    // console.log(this)
    // self.name=name
    // console.log(name)
    // })

    // 箭头函数this指向不变
    sub1.$on('runoob1',name=>{
    console.log(this)
    this.name=name
    console.log(name)
    })

    // 接收runoob2组件中的数据
    sub1.$on('runoob2',name=>{
    console.log(this)
    this.name=name
    console.log(name)
    })

    }


    }

    var sub=null
    window.onload=function(){
    sub= new Vue({
    el:'#my',
    components:{
    'my-a':runoob1,
    'my-b':runoob2,
    'my-c':runoob3,
    }

    });
    }


    </script>
    <template id='runoob1'>
    <div>
    <h1>{{name}}</h1>
    <button @click='send'>把数据发给runoob3</button>
    </div>

    </template>
    <template id='runoob2'>
    <div>
    <h1>{{name}}</h1>
    <button @click='send'>把数据发给runoob3</button>
    </div>

    </template>
    <template id='runoob3'>
    <div>
    <h1>{{name}}</h1>
    </div>

    </template>

    <div id='my'>
    <my-a></my-a>
    <my-b></my-b>
    <my-c></my-c>

    </div>
    </body>
    </html>

  • 相关阅读:
    sublimeformaya
    sitecustomize.py 用法
    计蒜客之矩阵翻转
    计蒜客之判断质数
    计蒜客之斐波那契数列
    LTE 测试文档(翻译)
    Manual——Test (翻译1)
    LTE Manual ——Logging(翻译)
    嵌入式linux的学习之路[转]
    C语言预处理程序[转]
  • 原文地址:https://www.cnblogs.com/yaomengli/p/10259767.html
Copyright © 2020-2023  润新知