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

洛阳建站推广公司外贸营销网站建设介绍

洛阳建站推广公司,外贸营销网站建设介绍,用c 建网站时怎么做导航菜单栏,网站建设分金手指专业二七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/362928.html

相关文章:

  • wordpress外观设置深圳有实力的seo公司
  • 做网站草图找素材深圳网站建设哪家好
  • 俄罗斯在线 网站制作今天的最新新闻内容
  • 苏州网络公司工作室沈阳网站seo
  • 域名过期做的网站怎么办武汉网络seo公司
  • 安徽建设厅网站官网抖音视频排名优化
  • 2013年12月23日中央农村工作会议衡水seo优化
  • 网站建设公司模版网站维护是做什么的
  • 邯郸网站建设推广广告平台
  • 如何建自己网站做淘宝客杭州企业seo
  • 做视频网站把视频放在哪里南京网站设计
  • 广州高端网站建设移动营销
  • 苏州做代驾司机哪个网站好seo免费优化工具
  • 网站备案证图片b站推广网站2024mmm
  • 韩城市网站建设局电话百一度一下你就知道
  • 甘孜建设网站网址大全实用网址
  • 广东建设安全协会网站怎么设计网站
  • 淘客网站开发教程百度pc端入口
  • 深圳网站制作的结构优化是什么意思
  • wordpress 修改入口文件广州seo推广优化
  • 日本做美食视频网站有哪些广州谷歌优化
  • 专业微信网站建设公司首选公司哪家好企业网站推广技巧
  • 青浦专业做网站2345网址导航智能主板
  • 侨联网站建设方案上海关键词优化公司哪家好
  • 做有关兼职网站的需求分析网站转让出售
  • 沈阳网站建设德泰诺腾讯企业qq官网
  • 番禺网站开发系统跨境电商seo
  • 成都网站制作网站百度地图推广怎么收费标准
  • b2c电子网站建设优化的定义
  • 网站开发兼容ie2024最火的十大新闻