Vue编写App组件

发布于:2025-08-30 ⋅ 阅读:(19) ⋅ 点赞:(0)

Vue编写App组件

上次我们没有将src文件夹里面的东西,这次,我们来看看src里面的东西

  • 我们都知道index.html是入口文件
<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="UTF-8">
    <link rel="icon" href="/favicon.ico">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vite App</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

  • 我们发现他引入了src里面的main.ts,所以我们看看这个文件里面是啥
import './assets/main.css'

import { createApp } from 'vue'
import App from './App.vue'

createApp(App).mount('#app')

第一行很简单了,就是引入一些样式,让它好看一些;

第二行就是创建一个App应用,每个 Vue 应用都是通过 createApp 函数创建一个新的 应用实例:我们可以想象它是一个装下你所有操作的大盒子;

第三行这个App是什么呢?它是就是一个组件,是一个根组件,其他的所有组件都是它的子组件,也就是一颗大树的根;

第四行就是我们创建一个示例,然后引入了根组件,所以我这个整个样子应该已经弄好了,那么我的这个样子得用在什么地方呢?这里就是使用mount挂载到id为app得里面,这个id从上面的入口文件就能看到这个位置在哪

  • 之后我们会看到我们src里面有一个APP.vue,刚刚说了,这个就是组件,组件的代码稍后你得自己写,所以这里不作赘述
<script setup lang="ts">
import HelloWorld from './components/HelloWorld.vue'
import TheWelcome from './components/TheWelcome.vue'
</script>

<template>
  <header>
    <img alt="Vue logo" class="logo" src="./assets/logo.svg" width="125" height="125" />

    <div class="wrapper">
      <HelloWorld msg="You did it!" />
    </div>
  </header>

  <main>
    <TheWelcome />
  </main>
</template>

<style scoped>
header {
  line-height: 1.5;
}

.logo {
  display: block;
  margin: 0 auto 2rem;
}

@media (min-width: 1024px) {
  header {
    display: flex;
    place-items: center;
    padding-right: calc(var(--section-gap) / 2);
  }

  .logo {
    margin: 0 2rem 0 0;
  }

  header .wrapper {
    display: flex;
    place-items: flex-start;
    flex-wrap: wrap;
  }
}
</style>

  • 之后我们看到一个components的文件夹,顾名思义,这个里面放的全部都是组件,但是他们都是子组件

在这里插入图片描述

  • 最后一个assets文件夹里面都是放着一些logo或者css文件

删除src,自己动手编写

  • 之后我们要创建main.ts,当然跟组件App.vue也是要的
  • 创建完成之后,我们就要再main.ts里面写东西了,首先我们从vue里面引入createAPP,然后引入根组件
//引入createApp创建应用
import { createApp } from 'vue'
//引入App根组件
import App from './App.vue'

  • 下一步就得挂载了
//引入createApp创建应用
import { createApp } from 'vue'
//引入App根组件
import App from './App.vue'

createApp(App).mount('#app')
  • 那现在就要往根组件里面写东西了,这个里面该写什么东西呢?主要是三个东西,第一个就是template,这个里面主要都是一些HTML的代码,其次呢就是script,里面主要是JavaScript或者typescript代码,然后就是style了,主要就是一些样式
<template>
    <div>
        <h1 class="app">Hello Vue</h1>
    </div>
</template>
<script>
    export default {
        name: 'App'  //组件名
    }
</script>
<style>
    .app{
        background-color: green;
        font-weight: 500;
        color: white;
        box-shadow: 0 0 15px;
        border-radius: 10px;
        padding: 20px;
    }
</style>

这个HTML和style的代码就不作赘述,这个script里面写的是什么呢?意思就是这个根组件会以默认导出的形式被暴露给外部;我们来启动一下

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到