Vue3组件化开发(二)&(三)

p12Vue3其他语法补充


非父子组件通信

在这里插入图片描述

provide和inject

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

处理响应式数据

在这里插入图片描述

Mitt事件总线库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

插槽

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

具名插槽的使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

作用域插槽

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

p13


在这里插入图片描述

<template>
  <button
    :class="{ active: currentItem === item }"
    v-for="item in names"
    :key="item"
    @click="itemClick(item)"
  >
    {
   
   { item }}
  </button>
  <br />

  <component :is="currentItem"></component>

  <!-- <template v-if="currentItem === 'home'">
    <home></home>
  </template>
  <template v-else-if="currentItem === 'about'">
    <about></about>
  </template>
  <template v-else>
    <category></category>
  </template> -->
</template>

<script>
import Home from "./HomeView.vue";
import About from "./AboutView.vue";
import Category from "./CategoryView.vue";
export default {
      
      
  components: {
      
      
    Home,
    About,
    Category,
  },
  data() {
      
      
    return {
      
      
      names: ["home", "about", "category"],
      currentItem: "home",
    };
  },
  methods: {
      
      
    itemClick(item) {
      
      
      this.currentItem = item;
    },
  },
};
</script>

<style scoped>
.active {
      
      
  color: red;
}
</style>

动态组件

在这里插入图片描述

在这里插入图片描述

keep-alive

在这里插入图片描述

在这里插入图片描述

webpack的代码分包

在这里插入图片描述

异步组件

为什么要用异步组件?
实现代码分包
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

refs

在这里插入图片描述
在这里插入图片描述

生命周期

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

组件的v-model

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45732235/article/details/128518214