全栈开发之路——前端篇(2)文件、组件与setup引入

news2024/12/24 9:03:31

全栈开发一条龙——前端篇
第一篇:框架确定、ide设置与项目创建
本文系该系列第二篇,主要将介绍各个文件的意义、组件结构与导入以及setup的引入。

目录

  • 一、src外文件介绍
      • .gitignore为git忽略文件
      • env.d.ts用于识别其他文件
      • index.html
      • json文件
      • vite.config.ts
  • 二、源代码-src
    • 1. main.js
    • 2. components
      • 3.assets
  • 三、Vue文件格式
  • 四、除App外的组件编写及导入
  • 五、Vue3的特色语法

一、src外文件介绍

.gitignore为git忽略文件

有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。

env.d.ts用于识别其他文件

没有这个文件无法声明其他文件。

双击打开,如果飘红,说明你依赖没装全,请输入npm i
如果遇到pm ERR! code ENOENT

时由于你 没有进入你项目的根目录,导致它找不到程序了,你在终端中cd进去就好了

安装好依赖之后,重新打开vscode即可,飘红就消失了~

index.html

这是我们文件的入口 输入npm run dev(运行前端项目)显示的就是这一页。

json文件

包的管理文件、依赖声明文件,都是配置文件,别动他们,更别删除,删了就跑不起来了

vite.config.ts

配置文件,可以用于安装插件

二、源代码-src

我们以后工程的源代码都在src中。

1. main.js

import { createApp } from 'vue'
import App from './App.vue'
createApp(App).mount('#app')

内有如上代码,第一行调用Vue内的创建App组件,创建了一个后续vue文件运行的环境。
然后用App组件,是后续你写的所有的组件的根节点。
最后一句将app传入CreateApp创建的环境中。(将这个根目录放进环境)然后挂载到#app
index.html文件
以上图片是index.html文件,对应了挂载id。

2. components


这个文件夹用于存放各个组件,所以都是.vue文件

3.assets

用来储存静态资源。比如图片之类的。

三、Vue文件格式

请记住,Vue文件由以下三个部分构成
第一,包裹在中的结构代码,语言是html,用于布置结构。
第二,是包含在中的脚本代码,语言是Js或者Ts(vue推荐TS),用于交互
第三,是包裹在中的样式(参数),用于美化
一个样例展示如下,如果与之前没变化,control s保存一下。注意,一下代码是App.vue中的

<template>
    <div class = "style_test">
     <h1>结构测试</h1>//结构展示
    </div>
</template>

<script>
  export default{//设置组件名字
    name : 'app'//组件名
  } 
</script>

<style>//结构美化
  .style_test{
       background-color: aquamarine;
       box-shadow: 0 0 10px;
       border-radius:10px;
       padding: 20px;
  }
</style>

四、除App外的组件编写及导入

好,我们接下来再了解一下除了根组件以外的组件应该如何编写。
我们先写一个演示Vue组件的文件。
在src下的components文件夹中新建一个Vue文件

<template>
    <div class = "style_test">
     <h1>其他组件</h1>
     <h2>姓名:{{name}}</h2>
     <h2>年龄: {{age}}</h2>
     <button @click="showTel">查看电话</button>
    </div>
</template>

<script>
  export default{
    name : 'Test',//组件名
    data(){
        return {
          name : "TTTi9er",
          age : 18,
          tel : "114514"
        }

    },
    methods:{
         showTel(){
          alert(this.tel)
         }
    }
  } 
</script>

<style>
  .style_test{
       background-color: red;
       box-shadow: 0 0 10px;
       border-radius:10px;
       padding: 20px;
  }
</style>


然后我们修改app.vue,将这个组件生效,以下是app.vue代码

<template>
    <div class = "style_test">
     <!-- <h1>结构测试</h1> -->
     <Test/>
    </div>
</template>

<script>
   import Test from './components/other_vues.vue'//引入刚刚写的组件

  export default{
    name : 'app',    //组件名
    components : {Test}  //注册组件,把组件放到根目录上
  } 
</script>

<style>
  .style_test{
       background-color: aquamarine;
       box-shadow: 0 0 10px;
       border-radius:10px;
       padding: 20px;
  }
</style>

代码解释已经写上面了,大家可以复制体验以下。主要我们需要引入组件(import),使用组件<Test/>,以及注册组件 components : {Test}
注:Vue3完全能向下兼容Vue2

五、Vue3的特色语法

Vue2是选项式API,像4中的例子有data选项,method(方法)选项等等,动图展示如下。
Vue2的API,各个组件的数据、方法、计算属性是分布在data method等等里的,想要修改起来要一个一个改,不利于维护。

Vue3的核心语法是组合式API。组合式API更有面向对象的感觉,是一个功能一个区块。

要使用这种语法,我们需要使用setup配置项,具体将在下篇详细说。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1638830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

七、Google Protobuf

这里写自定义目录标题 一、编码和解码二、Netty本身的编码解码机制和存在的问三、Protobuf四、Protobuf示例1五、ProtoBuffer传输多种数据类型 一、编码和解码 二、Netty本身的编码解码机制和存在的问 netty提供的编码器 netty提供的解码器 存在的问题 无法跨语言序列化后…

【C语言】动态内存分配(一)

目录 1.为什么要有动态内存分配 2.malloc和free 2.1malloc 2.2free 1.为什么要有动态内存分配 我们已经掌握的内存开辟方式有: 但是上述的开辟空间的方式有两个特点: ⭐空间开辟大小是固定的。 ⭐数组在申明的时候&#xff0c;必须指定数组的长度&#xff0c;数组空间一旦…

大模型实体化:个人智能体为AI PC注入灵魂

从Alpha GO到Chat GPT&#xff0c;从DALL-E到Sora&#xff0c;AI时代的演进正行驶在快车道&#xff0c;人工智能正受到有史以来最高的关注。人们在生怕被快速变革的AI时代抛弃的同时&#xff0c;也不禁疑惑&#xff0c;AI浪潮的下一步在哪里&#xff1f; 大模型实体化&#xff…

java-函数式编程-函数对象

定义 什么是合格的函数&#xff1f;无论多少次执行函数&#xff0c;只要输入一样&#xff0c;输出就不会改变 对象方法的简写 其实在类中&#xff0c;我们很多参数中都有一个this&#xff0c;被隐藏传入了 函数也可以作为对象传递&#xff0c;lambda就是很好的例子 函数式接口中…

jenkins汉化不完全问题解决

jenkins安装完Localization:Chinese(Simplified)中文语言包后&#xff0c;发现是出现汉化不完全或者部分汉化的情况&#xff0c;如下图&#xff1a; 解决方法&#xff1a; 启动命令中指定语言 -Duser.languageen_US.UTF-8 或者 -Duser.languageC.UTF-8原因分析&#xff1a;安…

第十五届蓝桥杯Java软件开发大学B组自我经验小结

自我介绍 23届大一 双非 计院科班 软件工程 江苏人在吉林上大学 Java蒟蒻 在学校的宣传下 有幸参加了第十五届蓝桥杯Java大学b组省赛 蓝桥杯说明 就是一个算法比赛吧 考试时间9.00到1.00 四小时 带准考证和身份证和笔 草稿纸会发 赛制是IOC就是不会给任何反馈 就是你…

基于粒子滤波器的电池剩余使用寿命计算matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 粒子滤波器基础 4.2 电池剩余使用寿命建模与预测 4.3 粒子滤波器在电池寿命预测中的应用 5.完整工程文件 1.课题概述 基于粒子滤波器的电池剩余使用寿命计算。根据已知的数据&#xff0c;预测未来…

Python绘制的好看统计图

代码 sx [Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, P…

数据结构(C):玩转顺序表

&#x1f37a;0.前言 言C之言&#xff0c;聊C之识&#xff0c;以C会友&#xff0c;共向远方。各位博友的各位你们好啊&#xff0c;这里是持续分享数据结构知识的小赵同学&#xff0c;今天要分享的数据结构知识是顺序表&#xff0c;在这一章&#xff0c;小赵将会向大家展开聊聊顺…

PotatoPie 4.0 实验教程(31) —— FPGA实现摄像头图像高斯滤波

什么是高斯滤波 高斯滤波是一种常见的图像处理技术&#xff0c;用于去除图像中的噪声和平滑图像。它的原理基于统计学中的高斯分布&#xff08;也称为正态分布&#xff09;。 在高斯滤波中&#xff0c;一个二维的高斯核函数被用来对图像中的每个像素进行加权平均。这个高斯核…

基于Java+SpringBoot+Mybaties-plus+Vue+elememt+hadoop + redis 医院就诊系统 设计与实现

一.项目介绍 前端&#xff1a;患者注册 、登录、查看首页、医生排班、药品信息、预约挂号、就诊记录、电子病历、处方开药、我的收藏 后端分为&#xff1a; 医生登录&#xff1a;查看当前排班信息、查看患者的挂号情况、设置患者就诊记录、电子病历、给患者开药和个人信息维护 …

LeetCode 11—— 盛最多水的容器

阅读目录 1. 题目2. 解题思路一3. 代码实现一4. 解题思路二5. 代码实现二 1. 题目 2. 解题思路一 暴力法&#xff0c;遍历所有可能的垂线对 ( i , j ) (i, j) (i,j)&#xff0c;求取最大面积&#xff1a; a r e a m i n ( h [ i ] , h [ j ] ) ∗ ( j − i ) area min(h[i]…

when to create a ViewRootImpl

when to create a ViewRootImpl when method setView is called: when method dispatchDetachedFromWindow is called:

2024年【起重机械安全管理】考试内容及起重机械安全管理操作证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 起重机械安全管理考试内容根据新起重机械安全管理考试大纲要求&#xff0c;安全生产模拟考试一点通将起重机械安全管理模拟考试试题进行汇编&#xff0c;组成一套起重机械安全管理全真模拟考试试题&#xff0c;学员可…

ubuntu20.04安装nodejs并创建简单的node.js应用

一. 安装nodejs Node.js 为 Linux、Windows 和 macOS 提供了不同的软件包。您可以访问 Node.js 官方网站并选择与您的操作系统对应的下载链接。 第一步&#xff1a;打开官网下载源文件 中文网址:http://nodejs.cn/download/ 第二步&#xff1a;解压压缩包 tar -xvf node-v18.…

关于Spring Aop的通知类型

一、概述 1.1 通知类型 为了符合各种流程处理&#xff0c;通知类型提供了5种&#xff0c;可以对目标方法进行全方位处理&#xff0c;如下所示&#xff1a; 通知类型说明前置通知&#xff08;Before advice&#xff09;在某连接点之前执行的通知&#xff0c;但这个通知不能阻止…

【C语言】atoi和atof函数的使用

人生应该树立目标&#xff0c;否则你的精力会白白浪费。&#x1f493;&#x1f493;&#x1f493; 目录 •&#x1f319;知识回顾 &#x1f34b;知识点一&#xff1a;atoi函数的使用和实现 • &#x1f330;1.函数介绍 • &#x1f330;2.代码演示 • &#x1f330;3.atoi函数的…

Java | Spring框架 | 快速入门实战

一、Spring框架简介&#xff1a;为何选择Spring&#xff1f; Spring框架是一个开源的Java平台&#xff0c;它最初由Rod Johnson设计&#xff0c;并且首次发布于2003年。Spring使Java开发变得更加容易&#xff0c;它提供了一种更简洁、更强大、更易于测试的方式来构建Java应用。…

Debian操作系统的常用指令介绍

Debian是一个流行的Linux操作系统&#xff0c;以其稳定性和安全性而闻名。对于Debian用户来说&#xff0c;掌握一些基本的命令行指令是非常重要的&#xff0c;因为它们可以帮助你更高效地管理系统。在这篇博客中&#xff0c;我们将介绍一些在Debian系统中常用的指令及其功能。 …

【20】JAVASE-网络编程【从零开始学JAVA】

Java零基础系列课程-JavaSE基础篇 Lecture&#xff1a;波哥 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台。…