Vue components(组件)

组件基础
组件注册
Prop
Vue生命周期

父子组件就是在一个vue文件中引入另一个vue文件,被引入vue文件就是子组件,引入vue文件的vue文件就是父组件。

1、vue组件的功能
● 能够把页面抽象成多个相对独立的模块
● 实现代码重用,提高开发效率和代码质量,使得代码易于维护

2、Vue组件封装过程
● 首先,使用Vue.extend()创建一个组件
● 然后,使用Vue.component()方法注册组件
● 接着,如果子组件需要数据,可以在props中接受定义
● 最后,子组件修改好数据之后,想把数据传递给父组件,可以使用emit()方法

3、组件使用流程详细介绍
使用 kebab-case

Vue.component('my-component-name', { /* ... */ })

当使用 kebab-case (短横线分隔命名) 定义一个组件时,你也必须在引用这个自定义元素时使用 kebab-case,例如 <my-component-name>。

使用 PascalCase

Vue.component('MyComponentName', { /* ... */ })

当使用 PascalCase (首字母大写命名) 定义一个组件时,你在引用这个自定义元素时两种命名法都可以使用。也就是说 <my-component-name> 和 <MyComponentName> 都是可接受的。注意,尽管如此,直接在 DOM (即非字符串的模板) 中使用时只有 kebab-case 是有效的。
*
*
*
4、注册组件【全局注册】
全局注册
*
*
*
5、注册组件【局部注册】
局部注册
*
*
6、Vue 组件
Vue Loader 是一个 webpack 的 loader,它允许你以一种名为 单文件组件 (SFCs) 的格式撰写 Vue 组件:

<template>
  <div class="example">{{ msg }}</div>
</template>

<script>
export default {
  data () {
    return {
      msg: 'Hello world!'
    }
  }
}
</script>

<style>
.example {
  color: red;
}
</style>

*
*
*
7、调用组件
*
*
8、父组件调用向子组件传值【props】
*
*
*
9、子组件向父组件传值【$emit】
*
*
*
10、vue element admin 自定义组件
父组件

<template>
  <div class="patient-panel">
    <TimeLine />
  </div>
  <div>
    <h1>父组件</h1>
    <router-view v-bind:fData="data1" :fMessage="data2"></router-view>
  </div>
</template>

<script>
import TimeLine from '@/components/TimeLine'

export default {
  name: 'test',
  components: {
    TimeLine
  },
  props: {},
  return {
    data1: '父组件数据data1',
    data2: '父组件数据data2',
  }
}
</script>

子组件

<template>
  <div>
    <h1>子组件</h1>
    <p>下面是父组件传过来的数据</p>
    <p>第一个数据:{{fData}}</p>
    <p>第二个数据:{{fMessage}}</p>
  </div>
</template>
  
<script>
export default {
  props: ['fData', 'fMessage'],
  data () {
    return {
    };
  }
}
</script>

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值