vue平行组件传值

平行组件传值

  • 通过平行组件传值可以实现任何情境下的传值,包括(父传子,子传父)
  • 代码示例
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div id="app">
    
        <my-alex></my-alex>
        <hr>
        <my-mjj></my-mjj>
    
    </div>
    <script src="https://cdn.bootcss.com/vue/2.5.21/vue.js"></script>
    <script>
        // 借助一个空的VUE对象  实现组件之间通信
        let bus = new Vue();
    
        //子组件A
        let A = {
            template: `
                <div>
                    <h2>这是子组件: my-alex</h2>
                    <p> my-mjj被选中的次数:{{ num }} </p>
                </div>
            `,
            data() {
                return {
                    num: 0
                }
            },
            // 关键点 第二步 监听B组件触发了xuanwo A就加1
            mounted() {
                //在文档准备就绪之后就要开始监听bus是否触发了xuanwo的事件
                /*
                bus.$on("xuanwo",function(val){
                    // this.num += 1;
                    console.log(val);// 点击B 可以跟着加1了
                    //关键点 第三步  怎么改A里面的num 的值
                    console.log(this); //bus对象  不是A
                })
                */
    
                bus.$on("xuanwo",(val)=>{  //把上面的匿名函数改成箭头函数
                    // this.num += 1;
                    console.log(val);  //点击B 可以跟着加1了
                    //关键点 第三步  怎么改A里面的num 的值
                    console.log(this); //A组件
                    this.num = val;
                })
            }
        };
    
        //子组件B
        let B = {
            template: `
                <div>
                    <h2>这是子组件: my-mjj</h2>
                    <button v-on:click="add">选我</button>
    
                </div>
            `,
            data(){
              return{ num:0 }
            },
            methods:{
                add(){
                    this.num += 1;
                    // **** 关键点第一步 利用bus 对象抛出一个自定义事件
                    bus.$emit("xuanwo",this.num)
                }
            }
        };
    
        //实例化根组件
        let app = new Vue({
            el: "#app",
            data: {
                totalNum: 0
            },
            components: {
                "my-alex": A,
                "my-mjj": B,
            }
        })
    </script>
    </body>
    </html>

原文地址:https://www.cnblogs.com/bigox/p/11630013.html

时间: 2024-11-13 04:05:25

vue平行组件传值的相关文章

一个故事讲懂vue父子组件传值

作者:李佳明同学链接:https://www.jianshu.com/p/2272b6ca0f0c 一个故事讲懂vue父子组件传值 讲故事前先讲代码 父组件向子组件传值 父组件数据传递给子组件可以通过props属性来实现父组件: <template>  <div id="app">    <child-component v-bind:dataOfChild="dataOfParent"></child-component&

Vue父子组件传值

 Vue父子组件传值:有四种方式:props,ref,emit 和模板传递通信slot 通过props来传值: 静态传值就是直接通过props来传递 动态传值是通过v-bind来绑定一个要传递值的key,然后后面跟要传递的内容,不过这个内容是可以改变的 比如: <input v-model="parentMsg"> <child v-bind:message="parentMsg"></child> 传递的值会跟着input里面输

vue 父子组件传值

父组件通过属性向子组件传值 单向数据流,父组件可以向子组件传值,子组件不能向父组件传值 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>vue</title> 6 </head> 7 <body> 8 <div id="app"> 9 <counter :coun

Vue 父组件传值到子组件

vue 父组件给子组件传值中 这里的AccessList就是子组件 如果 是静态传值的话直接  msg="xxx"就好 这里动态取值的话就  :msg=xxxxx _________________________________华丽的分割线___________________________________ 子组件接收 好了就这样可以直接用了 原文地址:https://www.cnblogs.com/powerbyming/p/9130043.html

关于vue父子组件传值问题

今看到一篇关于vue传值的文章,遂记下.共勉之! /* * 父组件界面写法 */ <template> <div id="home"> <chid :sendDataToChid="words" :sendSecondData="moreWords" @fromSon="fromSon"> </child> <p>{{fromSonData}}</p> &

vue的组件传值

1.父组件向子组件传值 父组件: 123456789101112 <template> <child :name="name"></child> </template> <script> import child from "./child.vue" export default { components: {child}, data(){ return {name:"二哈"} } }

vue bus组件传值

父组件 event(){ this.$bus.emit("edit", title, item);)}//edit为对应的子组件名称,title,item为向子组件传的值 子组件 接收 在mounted this.$bus.on("edit", (title, obj) => { //title,obj为子组件接收的值 }); 子组件向父组件传值 this.$emit("refresh", addData, this.title); //

vue 子组件传值给父组件

子组件通过this.$emit("event",[args,....]),传值给父组件 HTML部分: 1 <div id="app"> 2 <tmp1 @func="test"></tmp1> 3 </div> JS部分: 1 var app = new Vue({ 2 el: "#app", 3 data: {}, 4 methods: { 5 test(data) { 6

Vue 父子组件传值 props

1.Vue 的渲染周期: vue 如何实现响应式追踪. 父子组件通信有很多方式,今天单独聊下props 的方式.我们通过查找官方文档很容发现,props传值有静态和动态两种传值方式. 当然props 还提供许多验证,使数据更加严谨. 在使用父子传值时,出现了, 按照文档说明,例如: 1 <template> 2 <div v-if="data">{{parentName}} 3 4 <input type="text" v-model=