zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    数据结构-栈
    virtualenvwrapper 的安装和使用
    MySQL命令行本地登陆,远程登陆MySQL 的快捷键
    关于mysql8授权的问题,mysql萌新小白采坑记录
    史上最直接小白式的Sourcetree的分支创建与合并
    验证两个集合是否相等的方法
    VS开发工具的常用插件
    C# 数据库并发的解决方案(通用版、EF版)
    Jquery实现div左右重复来回走动
    描述符的应用
  • 原文地址:https://www.cnblogs.com/yaomengli/p/10259767.html
Copyright © 2011-2022 走看看