• Vue 组件反刍


    ## 组件

        对局部视图的封装,为了实现复用,组件有结构、样式、行为

        自定义元素。扩展原生HTML

    ## 组件的注册

        全局注册 Vue.component('名字',{template})

        局部注册 通过compones选项定义

        注意:组件的模板template是必选的,并且有且只有一个根元素

    ## 详解组件

    + 组件命名规则

        keybab-case:短横线连接单词的命名方式,使用时候采用keybab-case.

        camelCase:大驼峰命名,从首字母开始大写,[Dom操作元素]时候使用keybab-case,

            但是在字符串模板中[template]用camelCasekeybab-case均可以

            -当命名为:大驼峰时,在字符串模板中两种方式均可

            -而当命名为:keybab形式时,则只能使用kebab-case

            结论:拿捏不准:均保持keybab在使用的时候!命名名称:均支持

        Note:

            html 标签名不区分大小写!

    + 使用组件方式

        单闭合:该标签之后的所有的组件都不会被渲染。[渲染到单闭合组件为止]

        双闭合:推荐使用

    + 组件模板

    1. 组件的模板template是必选的,并且有且只有一个根元素

    2. 当template属性包含元素比较多情况下,可以使用template标签来定义模板,通过id来表示组件模板信息

    + 组件的data选项必须是一个函数:[为了让组件之间相互独立,每个组件维护自己的一份数据]

        维护组件的独立性

    + 插槽slot

        组件的一块HTML模板,相当于占位符,以后显示不显示内容由父组件决定!

            v-slot can only be used on components or <template>.

            v-slot简写形式:#[name 的值]

    + 组件间的数据通信

        父->子

            1 在父组件中通过给子组件增加属性+值[父组件数据]方式传递数据

            2 在子组件中通过props选项:数组得形式显示得声明

                "props": expected an Array or an Object!

            注意:

                - props中声明得属性和data一样,是响应式数据,也会挂载组件实例中,可控制视图渲染

                - 父组件传递的属性名是

                    -kebab-case格式,props中可以通过camelCase或PascalCase

                    -如果是camelCase,则浏览器会将其解析为全部小写!

                - props选项可以进行数据校验:

                    1 指定属性的类型,默认情况下全部按照String类型处理;

                        假如想使用值本身,固有类型则需要使用v-bind:绑定

                        还支持校验数据是否是规定得类型

                            -Invalid prop: custom validator check failed for prop "title".

                    2 class和样式合并

                    3 vue的单向数据流

                        加载渲染过程:父beforeCreated -> 父created -> 父beforeMount -> 子beforeCreated -> 子created -> 子beforeMount

                                            ->子mounted ->父mounted

                        子组件更新过程:父beforeUpdate -> 子beforeUpdate -> 子updated -> 父updated

        子->父

            1 子组件调用$emit()方法发布一个事件

            2 父组件监听事件

    ## note

        根实例:根组件

        每一个组件都可以视为一个VueComponent实例,VueComponent继承Vue,所以组件能够与new Vue接受相同地选项:如datacomputedmethods等

        组件可以复用

  • 相关阅读:
    网站中使用了Excel组件问题 Microsoft.ACE.OLEDB.14.0' provider is not registered on the local machine
    键值对在架构设计里的应用
    轻轻松松 用U盘安装WIN7
    U盘装WIN7:微软官方工具《Windows 7 USB DVD Download Tool》U盘装wind7(更新官方整合SP1的WIN7 ISO)
    微软一站式示例代码库(中文版)20110924版本, 新添加ASP.NET, Windows Base, Silverlight, WinForm等20个Sample
    最薄笔记本苹果MacBook Air安装雪豹+Win7双系统的驱动解决方法
    使用受保护的配置加密配置信息
    自动加密web.config配置节批处理
    Asp.net MVC3学习
    周老师科研站
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13386813.html
Copyright © 2020-2023  润新知