• Vue 组件(一)全局组件和局部组件


    根据Vue官方文档:组件(Component)是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义元素。

    按我当前学习程度的理解,组件就是定义一个自己的新标签,新标签可以在HTML代码中使用。

    全局声明组件

    Vue.component('my-component-button1', {
    
        template: '<button>myFirstComponent</button>'
    
    });
    
    var app1 = new Vue(
    
        el: '#app1' //绑定DOM元素
    
    );

    局部声明组件,局部声明的组件则只能让注册该组件的Vue实例使用。

    var localComponent = {
    
        template: '<button>myFirstLocalComponent</button>'
    
    }
    
    var app2 = new Vue({
    
        el: '#app2' //绑定DOM元素
    
        //注意↓有s
    
        components: {
    
            'my-component-button2': localComponent
    
        }
    
    })

    HTML:

    <!-- 第一个全局按钮组件 -->
    
    <div id="app1">
    
        <my-component-button1></my-component-button1>
    
    </div>
    
    <!-- 第一个局部按钮组件,只能让app2用,因为只用app2注册了.-->
    
    <div id="app2">
    
        <my-component-button2></my-component-button2>
    
     </div>

    两个组件分别被渲染为:

    <div id="app1">
    
        <button>myFirstComponent</button>
    
    </div>
    
    <div id="app2">
    
        <button>myFirstLocalComponent</button>
    
    </div>

    需要注意:模板的名字最好不要用驼峰式命名(camelCase),使用短横线分隔式命名(kebab-case)。

    #组件组合

    来自Vue官方文档:

    组件设计初衷就是要配合使用的,最常见的就是形成父子组件的关系:组件 A 在它的模板中使用了组件 B。它们之间必然需要相互通信:父组件可能要给子组件下发数据,子组件则可能要将它内部发生的事情告知父组件。然而,通过一个良好定义的接口来尽可能将父子组件解耦也是很重要的。这保证了每个组件的代码可以在相对隔离的环境中书写和理解,从而提高了其可维护性和复用性。

    在 Vue 中,父子组件的关系可以总结为 prop 向下传递,事件向上传递。父组件通过 prop给子组件下发数据,子组件通过事件给父组件发送消息。下一篇继续学习prop和emit,看看它们是怎么工作的。

  • 相关阅读:
    Setting the Scope of COM Objects in ASP Pages
    不注册调用ActiveX Dll
    完成端口>TransmitFile 和 TransmitPackets (收集)
    浅谈网络游戏《天龙X部》的文件加密格式
    防止被偷窥和修改 Office文档保护秘笈
    oracle日期时间函数大全
    (C#)Windows Shell 外壳编程系列5 获取图标
    在Delphi中关于UDP协议的实现
    《黑手党2》全部50本花花公子杂志收集攻略
    TThread —— 线程类详解
  • 原文地址:https://www.cnblogs.com/zichil/p/8385423.html
Copyright © 2020-2023  润新知