方君の小窝 方君の小窝
首页
  • 原生js总结
  • 样式相关
  • vue
  • 其他必备知识
  • php
其他
GitHub

方君

迷糊小前端
首页
  • 原生js总结
  • 样式相关
  • vue
  • 其他必备知识
  • php
其他
GitHub
  • 原生js总结

  • 样式相关

  • vue

    • vue基础
    • vue自定义指令&生命周期
    • vue组件
    • vue组件传值
      • 一,空实例组件通信
      • 二,父=>子组件通信
    • vue路由
    • 路由机制
  • 其他必备知识

  • 前端
  • vue
方君
2020-08-24

vue组件传值

# vue组件传值

# 一,空实例组件通信

  • code:./10.passValue.html
    <div id="app">
        <boss></boss>
        <brother></brother>
    </div>

    <template id="boss">
        <div>
            我是BOSS
            跟弟弟说话:
            <input type="text" v-model="speck">
        </div>
    </template>

    <template id="brother">
        <div>
            我是弟弟
            哥哥说的话:
            <input type="text" :value="msg">
        </div>
    </template>
    <script src="vue.js"></script>
    <script>

    var bus= new Vue();

    Vue.component("boss",{
        template:"#boss",
        data(){
            return {speck:""}
        },
        watch:{
            speck(el){                      //监听boss的话
                bus.$emit("pub",el);        //触发pub事件
            }
        }
    })
    Vue.component("brother",{
        template:"#brother",
        data(){
            return {msg:""}
        },
        mounted(){                          //渲染周期结束
            bus.$on("pub",(data)=>{         //监听pub事件
                this.msg=data;
            })
        }
    })
    var vm=new Vue({
        el:"#app"
    })
    </script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

# 二,父=>子组件通信

  • code:./11.pToc.html
    <div id="app">

        <parent>
        </parent>

    </div>

    <template id="p">
        <div>
            父组件
            {{msg}}
            <!--  传递data,并使用子组件  -->
            <children :mess="msg"></children>
        </div>

    </template>
    <template id="c">
        <div>
            子组件
            <!-- 使用父组件给的data  -->
            {{mess}} 
        </div>
    </template>

    <script src="vue.js"></script>

    <script>
        Vue.component("parent",{
            template:"#p",
            data(){
               return {msg:"父组件的信息"} 
            },
            components:{
                children:{
                    template:"#c",
                    props:["mess"]      //接收父组件data
                }
            }
        })
    var vm=new Vue({
        el:"#app"
    })
    </script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
编辑
#基础
vue组件
vue路由

← vue组件 vue路由 →

最近更新
01
vue自定义指令&生命周期
08-24
02
ajax
08-24
03
promise
08-24
更多文章>
Theme by Vdoing | Copyright © 2019-2020
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式