vue学习(2)—— vue组件化

组件化

vue学习(2)—— vue组件化_第1张图片

Vue组件化思想

vue学习(2)—— vue组件化_第2张图片

vue组件定义:

vue组件化、模块化

vue学习(2)—— vue组件化_第3张图片

创建组件方式一:

1、使用Vue.extend({})创建全局组件

2、使用Vue.component('组件名称',组件模板对象)

3、在使用时,把组件的名称以HTML标签的形式引入

vue学习(2)—— vue组件化_第4张图片

注意:如果组件名称为驼峰映射,则标签名格式为全小写,单词中间用 - 连接

           如果组件名称不是驼峰命名,则标签名为全小写,同组件名称

vue学习(2)—— vue组件化_第5张图片

注册组件步骤解析

vue学习(2)—— vue组件化_第6张图片

vue学习(2)—— vue组件化_第7张图片

 

创建组件方式二:

直接使用Vue.component('组件名称',{template:'模板'})创建并定义

注意:template指向的模板,只能有一个根标签(最外层标签)只能有一个,多个标签不能并列为同一级根标签,可以包含

vue学习(2)—— vue组件化_第8张图片

以上两种方式,在定义模板时都要使用''引号定义,字符串格式,不方便书写,没有提示

创建组件方式三:

1、在被Vue控制的元素外面,使用template元素,创建模板

2、使用Vue.component('组件名称',{template:'#id'})定义

3、以组件名称作为元素标签来使用

vue学习(2)—— vue组件化_第9张图片

 

全局组件:多个vue实例控制的元素都可以使用

vue学习(2)—— vue组件化_第10张图片

 

创建并定义私有化组件,私有化组件只能在本vm实例控制的元素中使用,其他的Vue实例不能使用

定义格式如下,在Vue构造函数中使用componenets:{   组件名称: {template:'#id'}  }

使用方式同方式三

vue学习(2)—— vue组件化_第11张图片

组件中的data:

vue学习(2)—— vue组件化_第12张图片

 

全局组件、局部组件

vue学习(2)—— vue组件化_第13张图片

 

父组件、子组件

vue学习(2)—— vue组件化_第14张图片

vue学习(2)—— vue组件化_第15张图片

 

vue学习(2)—— vue组件化_第16张图片

组件注册语法糖

vue学习(2)—— vue组件化_第17张图片

语法糖示例 

vue学习(2)—— vue组件化_第18张图片

vue学习(2)—— vue组件化_第19张图片

 

组件注册的模板分离写法

vue学习(2)—— vue组件化_第20张图片

vue学习(2)—— vue组件化_第21张图片

 

组件中的data

vue学习(2)—— vue组件化_第22张图片

 vue学习(2)—— vue组件化_第23张图片

vue学习(2)—— vue组件化_第24张图片

vue学习(2)—— vue组件化_第25张图片

组件的data为什么是一个函数,并且必须有return返回

组件中的data如果是一个属性、对象,则是一个全局的属性,每个组件实例在使用的时候都会共享操作这个属性,然而组件用在不同的地方都应该有自己的data数据,不应该影响其他实例或者被其他实例影响;采用函数,则组件在实例化的时候都会调用函数返回一个新的实例对象,多个实例对象分别有自己的数据,不会操作共享数据,相互之间没有影响

vue学习(2)—— vue组件化_第26张图片

vue学习(2)—— vue组件化_第27张图片

vue学习(2)—— vue组件化_第28张图片

 

你可能感兴趣的:(前端,vue)