当前位置: 首页 > news >正文

【Vue3】选项式 API

【Vue3】选项式 API

  • 背景
  • 简介
  • 开发环境
  • 开发步骤及源码
  • 总结

背景

随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。本文内容并非完全原创,大多是参考其他文章资料整理所得,感谢每位技术人的开源精神。

简介

本文介绍如何使用选项式 API 编写 Vue3 组件。

选项式 API(Options API)是 Vue 组件的一种传统书写风格,另一种风格是组合式 API(Composition API)。

开发环境

分类名称版本
操作系统WindowsWindows 11
IDEVisual Studio Code1.91.1

开发步骤及源码

1> 从零开始创建一个 Vue3 工程,参考:【Vue3】从零开始编写项目。

2> 编写 Vue 根组件 App.vue

<!-- 组件结构 -->
<template><div class="person"><h3>姓名:{{ name }}</h3><h3>生日:{{ birth.getFullYear() + '-' + (birth.getMonth() + 1) + "-" + birth.getDate() }}</h3><button @click="showContact">查看联系方式</button></div>
</template><script lang="ts">
export default {// 组件名name: 'App',data() {return {name: '哈利·波特',birth: new Date('1980-07-31'),contact: '霍格沃茨魔法学校格兰芬多学院',}},methods: {showContact() {alert(this.contact)}}
}
</script><!-- 组件样式 -->
<style lang="scss">
.person {background-color: cadetblue;border-radius: 5px;color: white;padding: 20px;button {background-color: gold;border-radius: 5px;padding: 5px 10px;}
}
</style>

说明:

  • 数据定义在 data 选项中,data 选项是一个函数,返回一个 JSON 对象,页面结构中可以直接使用此 JSON 对象中的属性值;
  • 行为方法定义在 methods 选项中,methods 选项是一个 JSON 对象,其成员由函数 function 组成;
  • 此处定义样式使用到了 sass 预处理器,需要执行 npm install -D sass 命令安装。
    PS D:\temp\VUE\vue3-demo> npm install -D sassadded 16 packages in 2s10 packages are looking for funding
    run `npm fund` for details
    

总结

  • 此示例中的数据并非响应式数据,即数据的变更并不会反应在页面结构中,后续会专门讲解响应式数据;
  • 选项式 API(Options API) 属于 Vue 的传统书写风格,建议使用 Vue 官方推荐的组合式 API(Composition API)。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 大语言模型-基础及拓展应用
  • HTML+CSS+JS精美气泡提示框
  • Linux系统编程:自定义协议(序列化和反序列化)
  • Shell 构建flutter + Navtive 生成IPA
  • 240719_图像二分类任务中图像像素值的转换-[0,255]-[0,1]
  • 无法启动此程序,因为计算机丢失api-ms-win-core-path-l1-1-0.dll的解决方案
  • SQL执行流程、SQL执行计划、SQL优化
  • TCP与UDP的理解
  • ETL数据同步之DataX,附赠一套DataX通用模板
  • vue视频、图片自动轮播并伴随进度条
  • 网页制作技术在未来会如何影响人们的生活?
  • Hi6274 反激式20瓦电源芯片
  • PHP场地预约共享茶室棋牌室小程序系统源码
  • el-table表头使用el-dropdown出现两个下拉框
  • Linux常用命令(简要总结)
  • ES6指北【2】—— 箭头函数
  • 【css3】浏览器内核及其兼容性
  • 【EOS】Cleos基础
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • JavaScript DOM 10 - 滚动
  • jQuery(一)
  • JS变量作用域
  • MySQL用户中的%到底包不包括localhost?
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Node 版本管理
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • #70结构体案例1(导师,学生,成绩)
  • #pragma multi_compile #pragma shader_feature
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (+4)2.2UML建模图
  • (C++)八皇后问题
  • (MATLAB)第五章-矩阵运算
  • (TOJ2804)Even? Odd?
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (三)SvelteKit教程:layout 文件
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)【Hibernate总结系列】使用举例
  • (转)Scala的“=”符号简介
  • ./configure,make,make install的作用
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .Net IOC框架入门之一 Unity
  • .NET 发展历程
  • .Net组件程序设计之线程、并发管理(一)
  • /bin/bash^M: bad interpreter: No such file or directory
  • [ linux ] linux 命令英文全称及解释
  • [AIGC] SQL中的数据添加和操作:数据类型介绍
  • [Asp.net mvc]国际化
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [codevs 2822] 爱在心中 【tarjan 算法】
  • [Flex][问题笔记]TextArea滚动条问题