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

洛阳建站推广公司企业网站建设的作用

洛阳建站推广公司,企业网站建设的作用,优化网站公司外包,广州网络营销系统1. Vue 3 项目的文档结构 Vue 3 项目通常基于 Vue CLI 或 Vite 等工具创建,其文档结构如下: 常见目录结构 my-vue-project/ ├── public/ # 静态资源目录 │ ├── index.html # 入口页面 ├── src/ …

1. Vue 3 项目的文档结构

Vue 3 项目通常基于 Vue CLI 或 Vite 等工具创建,其文档结构如下:

常见目录结构

my-vue-project/
├── public/                # 静态资源目录
│   ├── index.html         # 入口页面
├── src/                   # 源代码目录
│   ├── assets/            # 静态资源(如图片、样式文件等)
│   ├── components/        # Vue 组件
│   ├── views/             # 页面级组件
│   ├── router/            # 路由配置
│   ├── store/             # 状态管理(Vuex)
│   ├── App.vue            # 根组件
│   ├── main.js            # 入口文件
├── package.json           # 项目依赖配置
├── vue.config.js          # Vue 配置文件(可选)

各部分说明

  • **public/**:存放静态资源,如 index.html,它是项目的入口页面

  • **src/**:存放项目的源代码。
    • **assets/**:存放图片、字体等静态资源。

    • **components/**:存放可复用的 Vue 组件。

    • **views/**:存放页面级组件。

    • **router/**:存放路由配置文件。

    • **store/**:存放 Vuex 状态管理相关代码。

    • **App.vue**:项目的根组件

    • **main.js**:项目的入口文件,负责初始化 Vue 应用。

2. main.jsindex.htmlApp.vue 的相互调用关系

index.html

  • 这是项目的入口页面,通常由 Vue CLI 或 Vite 自动生成。

  • 它通过 <div id="app"></div> 定义了一个挂载点Vue 应用会通过这个挂载点渲染到页面上

  • 示例:
    <!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.js"></script>  //挂载main.js(创建vue应用)</body>
    </html>
    

main.js

  • 这是 Vue 项目的入口文件,负责创建 Vue 应用实例,并将其挂载到 index.html 中的 <div id="app"></div>

  • 示例:
    import { createApp } from 'vue';
    import App from './App.vue';createApp(App).mount('#app');
    
  • 在这段代码中:
    • 使用 createApp 创建一个 Vue 应用实例。

    • App.vue 作为根组件传递给 createApp

    • 使用 .mount('#app') 将应用挂载到 index.html 中的 <div id="app"></div> 上。将 Vue 应用的根组件挂载到页面上的指定 DOM 元素(挂载点,即id="app"的div)中,启动 Vue 应用。

    • 没有 .mount('#app') 的后果:Vue 应用不会被挂载到页面上,页面上不会显示任何 Vue 组件的内容。

    • 挂载点:通常是 index.html 中的 <div id="app"></div>

App.vue

  • 这是项目的根组件,是所有组件的父组件。

  • 它通常包含全局布局和一些全局组件。

  • 示例:
    <script setup>
    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>
    

调用关系

  1. **index.html**:定义了挂载点 <div id="app"></div>

  2. **main.js**:创建 Vue 应用实例,并将其挂载到 index.html<div id="app"></div> 上。

  3. **App.vue**:作为根组件,被 main.js 加载并渲染到页面上。

3. 新开发页面的加载位置

功能需求

  • 类似于百度查询的页面,用户输入问题,点击发送或按下回车键后,调用后端 API 获取回答,并显示在页面上。

代码加载位置

  • **App.vue**:作为根组件,可以将查询页面的逻辑封装在其中。

  • **src/components/**:如果查询页面是一个独立的组件,可以将其放在 components 目录下,例如命名为 AISearch.vue

示例代码

如果放在 App.vue
<template><div class="chat-container"><div v-for="(msg, index) in messages" :key="index"><div :class="msg.type === 'user' ? 'user-msg' : 'bot-msg'">{{ msg.content }}</div></div><input v-model="newQuestion" @keyup.enter="sendMessage" /></div>
</template><script setup>
import { ref } from 'vue';
import axios from 'axios';const messages = ref([]);
const newQuestion = ref('');const API_URL = "/api/ask";async function sendMessage() {const response = await axios.post(API_URL, {question: newQuestion.value});messages.value.push({ type: 'bot', content: response.data.answer });newQuestion.value = '';
}
</script><style>
.user-msg { align-self: flex-end; background: #0084ff; color: white; }
.bot-msg { align-self: flex-start; background: #f0f0f0; }
</style>
如果放在独立组件 AISearch.vue
  1. **AISearch.vue**:

    <template><div class="chat-container"><div v-for="(msg, index) in messages" :key="index"><div :class="msg.type === 'user' ? 'user-msg' : 'bot-msg'">{{ msg.content }}</div></div><input v-model="newQuestion" @keyup.enter="sendMessage" /></div>
    </template><script setup>
    import { ref } from 'vue';
    import axios from 'axios';const messages = ref([]);
    const newQuestion = ref('');const API_URL = "/api/ask";async function sendMessage() {const response = await axios.post(API_URL, {question: newQuestion.value});messages.value.push({ type: 'bot', content: response.data.answer });newQuestion.value = '';
    }
    </script><style>
    .user-msg { align-self: flex-end; background: #0084ff; color: white; }
    .bot-msg { align-self: flex-start; background: #f0f0f0; }
    </style>
    
  2. **在 App.vue 中引入并使用 AISearch.vue**:

    <template><div id="app"><AISearch /></div>
    </template><script>
    import AISearch from './components/AISearch.vue';export default {components: {AISearch}
    };
    </script>
    

总结

  • 如果查询页面是项目的唯一功能,可以直接将代码放在 App.vue 中。

  • 如果项目结构更复杂,建议将查询页面封装为独立组件(如 AISearch.vue),并在 App.vue 中引入使用。

http://www.dtcms.com/wzjs/348936.html

相关文章:

  • wordpress站点管理自动优化句子的软件
  • 香港ip做外贸网站sem分析是什么意思
  • 视频网站怎么做统计表简述如何优化网站的方法
  • 链接网站logo网站建设介绍ppt
  • 网站后台权限分配说明百度云盘资源共享链接群组链接
  • 已有域名怎么建设网站如何在手机上建立自己的网站
  • 哪里有做彩票网站了网站应该如何进行优化
  • weex做网站免费发布推广信息网站
  • 嵌入式培训宣传seo搜索引擎优化试题及答案
  • 网站群如何做网站网络营销培训
  • iis创建网站百度竞价排名查询网站
  • 网站建设企业排行榜百度seo报价方法
  • 帝国建设网站网站分析
  • 长沙网络公司seo技术是什么意思
  • 一流的网站建设案例无锡营销型网站建站
  • 网站建设的google付费推广
  • 怎么做地区网站站长工具seo下载
  • 做微信公众号网站网站建设公司哪个好呀
  • 网站建设费无形资产摊销91关键词
  • 手机网站建设报价长沙免费网站建站模板
  • 快速提高网站排名百度推广首页登录
  • 49图库下浏览器竞价托管优化公司
  • 手机网站制作流程全自动推广引流软件免费
  • 党员网站管理系统培训管理平台
  • WordPress一键复制文章南昌seo计费管理
  • 手机网站制作注意事项批量查询指数
  • 济南疫情政策最新动态微信seo是什么意思
  • 做网站的广告词百度关键词搜索热度查询
  • 西安模板网站建设深圳搜索优化排名
  • 多语种网站建设网络营销网站有哪些