zoukankan      html  css  js  c++  java
  • Vue组件的通信

    一.Vue单层组件的通信:

    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>Vue的全局组件</title>
        </head>
    <body>
        <div id="app">
            <my-div message='思思最好了'></my-div>
            <my-div message='思思最棒了'></my-div>
        </div>
        <!-- 定义组件 -->
        <template id="my-div">
            <div><p>{{message}}</p></div>
        </template>
    
        <script src="js/vue.js"></script>
        <script>
    
            // 创建组件 注意这里要加#号,不然不能显示
            Vue.component('my-div', {
                template: '#my-div',
                props: ['message']
            });
    
            // 创建vue的实例
            let vm = new Vue({
                el: '#app',
                data: {
                    name: 'si peng'
                },
            });
        </script>
    </body>
    </html>

    二.多层组件的通信:必须通过动态绑定

    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>Vue多层组件间的通信</title>
        </head>
    <body>
        <div id="app">
            <my-parent :imgsrc="img" :title="title"></my-parent>
        </div>
        <!-- 子组件1 -->
        <template id="my-image">
            <img src="imgsrc" width="200">
        </template>
        <!-- 子组件2 -->
        <template id="my-title">
            <he>{{title}}</he>
        </template>
        <!-- 父组件 -->
        <template id="my-parent">
            <div>
                <my-child1 :imgsrc='imgsrc'></my-child1>
                <my-child2 :title='title'></my-child2>
            </div>
        </template>
        <script src="js/vue.js"></script>
        <script>
    
            // 子组件的实例
            let child1 = Vue.extend({
                template: '#my-image',
                props: ['imgsrc']
            })
            let child2 = Vue.extend({
                template: '#my-title',
                props: ['title']
            })
    
            // 注册父组件
            Vue.component('my-parent', {
                props: ['imgsrc', 'title'],
                components: {
                    'child1': child1,
                    'child2': child2
                },
                template: '#my-parent'
            })
    
            // 创建vue的实例
            let vm = new Vue({
                el: '#app',
                data: {
                    title: '思思,周末快乐啊!',
                    img: 'images/3.jpeg'
                },
            });
        </script>
    </body>
    </html>
  • 相关阅读:
    GO学习-(17) Go语言基础之反射
    Go语言基础之time包
    Go语言标准库log介绍
    GO学习-(16) Go语言基础之文件操作
    GO学习-(15) Go语言基础之包
    GO学习-(14) Go语言基础之接口
    五种开源API网关实现组件对比
    Spring Junit4 Test
    Java泛型
    SQL 基本(Head First)
  • 原文地址:https://www.cnblogs.com/pengsi/p/7784473.html
Copyright © 2011-2022 走看看