三个小时vue3.x从零到实战(中)(vue3.x高级语法)

简介: 该文章深入探讨了Vue 3.x的高级语法与特性,包括混入(mixins)的使用、组件间的通信方式等,帮助开发者掌握Vue 3.x的进阶知识。

一. mixin混入

混入 (mixins)定义了一部分可复用的方法或者计算属性。混入对象可以包含任意组件选项。
Mixin 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个 mixin 对象可以包含任意组件选项。当组件使用 mixin 对象时,所有 mixin 对象的选项将被“混合”进入该组件本身的选项。

案例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Vue 实例</title>
  <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
<div id = "app"></div>
<script type = "text/javascript">
  // 定义混入对象
  const myMixin = {
    created() {
      this.hello()
    },
    methods: {
      hello() {
        document.write('欢迎来到混入实例')
      }
    }
  }

  // 定义一个应用,使用混入
  const app = Vue.createApp({
    mixins: [myMixin]
  })

  app.mount('#app') // => "欢迎来到混入实例"
</script>
</body>
</html>

二. ajax

vue 版本推荐使用 axios 来完成 ajax 请求。

Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中。

Github开源地址: https://github.com/axios/axios

三. 组件化编程

vue文件包含3个部分
    <template>
      <div></div>
    </template>
    <script>
        export default {
          props: []/{}
          data(){},
          computed: {}
          methods: {},

          watch: {}
          filters: {}
          directives: {}
          components: {}
        }
    </script>
    <style>
    </style>
组件化编码的基本流程
    1). 拆分界面, 抽取组件
    2). 编写静态组件
    3). 编写动态组件
        初始化数据, 动态显示初始化界面
        实现与用户交互功能
组件通信的5种方式
    props
    vue的自定义事件
    pubsub第三方库
    slot
    vuex(后面单独讲)
props:
    父子组件间通信的基本方式
    属性值的2大类型: 
        一般: 父组件-->子组件
        函数: 子组件-->父组件
    隔层组件间传递: 必须逐层传递(麻烦)
    兄弟组件间: 必须借助父组件(麻烦)
vue自定义事件
    子组件与父组件的通信方式
    用来取代function props
    不适合隔层组件和兄弟组件间的通信
pubsub第三方库(消息订阅与发布)
    适合于任何关系的组件间通信
slot
    通信是带数据的标签
    注意: 标签是在父组件中解析
vuex
    多组件共享状态(数据的管理)
    组件间的关系也没有限制
    功能比pubsub强大, 更适用于vue项目
相关文章
|
JavaScript 开发者
三个小时vue3.x从零到实战(后)(vue3.x配套工具及项目化构建)
文章详细介绍了Vue 3.x相关的配套工具及项目化构建流程,包括构建工具的配置与最佳实践,帮助开发者更好地管理和构建Vue项目。
231 1
|
存储 缓存 JavaScript
三个小时vue3.x从零到实战(前)(vue3.x基础)
该文章提供了关于Vue 3.x的基础教程,覆盖了从环境搭建到基本使用的各个方面,适合Vue 3.x的初学者。
148 0
|
存储 固态存储 Java
文件系统使用固态硬盘(SSD)
【10月更文挑战第8天】
448 2
|
JavaScript 开发者
三个小时vue3.x从零到实战(vue3.x经典案例46个)
该文章提供了46个Vue 3.x的经典案例,通过实际代码示例帮助开发者更好地理解和运用Vue 3.x的各项功能和技术。
2443 0
|
Java Maven Spring
如何在idea中创建Springboot项目? 手把手带你创建Springboot项目,稳!
文章详细介绍了在IDEA中创建Spring Boot项目的过程,包括选择Spring Initializr、配置项目属性、选择Spring Boot版本、导入依赖、等待依赖下载以及项目结构简介。
14572 1
|
存储 缓存 JavaScript
三个小时vue3.x从零到实战(前)(vue3.x基础)
该文章系列提供了Vue3.x从基础到实战的教程,涵盖安装、基本语法、组件化应用及项目构建等多个方面,适合从零开始学习Vue3.x的开发者。
1594 0
|
JavaScript
三个小时vue3.x从零到实战(后)(vue3.x配套工具及项目化构建)
该文章介绍了Vue 3.x项目构建和开发流程,包括使用Vue CLI创建项目、配置开发环境以及利用Vite等现代工具提升开发效率的方法。
159 0
|
监控 JavaScript API
Vue3 高阶方法及使用场景,看这一篇就够啦!!【最全】
Vue3 高阶方法及使用场景,看这一篇就够啦!!【最全】
|
Java 关系型数据库 数据库连接
MyBatis-Plus整合SpringBoot及使用
务必记住,随着MyBatis-Plus版本的更新,一些具体的配置和使用方式可能会有所变动。在实际开发过程中,建议参考MyBatis-Plus的官方文档,以获取最新和详细的指导。
352 1