Vue组件和组件通信

Vue组件和组件通信,第1张

Vue组件和组件通信

一.Vue组件概念, 创建注册使用; 封装组件

概念 :

组件是可复用的Vue 实例, 一个vue文件就是一个组件

组件化 :封装的思想,把页面上 可重用的部分 封装为 组件,从而方便项目的开发和维护

一个页面,可以拆分成一个个组件,一个组件就是一个整体, 每个组件可以有自己独立, 互不影响

口诀: 哪部分标签复用, 就把哪部分封装到组件内

组件内template只能有一个根标签

组件内data必须是一个函数, 独立作用域

组件创建, 注册, 使用

在components文件夹下创建组件, 文件后缀为

.vue

创建后需要注册后再使用

有两种注册方式全局和局部

1.全局注册:

全局入口在main.js, 在new Vue之上注册

语法:

import Vue from 'vue'
import 组件对象 from 'vue文件路径'

Vue.component("组件名", 组件对象)

2.局部注册的方式:

import 组件对象 from 'vue文件路径'

export default {
    components: {
        "组件名": 组件对象
    }
}

注册名用驼峰命名

调用组件

<template>
  <div>
    
    <组件名>组件名>
    <组件名>组件名>
  div>
template>

<script>
// 目标: 局部注册 (用的多)
// 1. 创建组件 - 文件名.vue
// 2. 引入组件
import Pannel from './components/组件名
export default {
  components: {
    "组件名": 组件对象
  }
}
script>

组件使用总结:

(创建)封装html+css+vue到独立的.vue文件中(引入注册)组件文件 => 得到组件配置对象(使用)当前页面当做标签使用

vue组件-scoped作用

在style上加入scoped属性, 就会在此组件的标签上加上一个随机生成的data-v开头的属性, 且组件内的样式只在当前vue组件生效