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>
  • 相关阅读:
    [C#] 多线程总结(结合进度条)
    [Winform] DataGridView 中 DataGridViewComboBox 的可编辑
    [Tool] 仿博客园插入代码的 WLW 插件
    [C#] 获取打印机列表
    [Access] C# 通过 COM 组件访问 Access 文件
    [Excel] 打印设置
    [Q&A] 应用程序清单生成失败
    [Excel] Worksheet.PasteSpecial
    canvas裁剪图片,纯前端
    javascript将base64编码的图片数据转换为file并提交
  • 原文地址:https://www.cnblogs.com/pengsi/p/7784473.html
Copyright © 2011-2022 走看看