使用Vue3开发商品管理器(一)

使用Vue3开发商品管理器(一)

JohnYu

2025-06-05283阅读1分钟

添加vue-router

复制代码
体验AI代码助手
代码解读
复制代码
npm install vue-router

配置路由

新建一个router文件夹,在router文件夹下新建index.ts文件,内容如下:

javascript 复制代码
js
体验AI代码助手
代码解读
复制代码
import { createRouter, createWebHistory } from 'vue-router'

const router = createRouter({
  history: createWebHistory(),
  routes: [
    {path:'/',component:()=>import('../views/Home.vue')},
    {path:'/manager',component:()=>import('../views/GoodManager.vue')},
    {path:'/adder',component:()=>import('../views/GoodAdder.vue')},
    {path:'/about',component:()=>import('../views/About.vue')},
  ]
});
export default router

注册路由

在main.ts中注册路由,内容如下:

javascript 复制代码
javascript
体验AI代码助手
代码解读
复制代码
import router from './router'
createApp(App).use(router).mount('#app')

配置路由链接

在App.vue中配置路由链接,内容如下:

xml 复制代码
html
体验AI代码助手
代码解读
复制代码
<template>
  <router-link to="/">首页</router-link> |
  <router-link to="/manager">商品管理</router-link> |
  <router-link to="/adder">商品添加</router-link> |
  <router-link to="/about">关于</router-link> |
  <hr>
  <router-view></router-view>
</template>

首页(商品分类): ./views/Home.vue

xml 复制代码
vue
体验AI代码助手
代码解读
复制代码
<template>
    <h1>管理首页</h1>
    <!-- 进行商品分类信息的渲染 -->
     <table>
        <thead>
            <tr><th>ID</th><th>名称</th><th>图片</th><th>商品种类</th><th>价格合计</th></tr>
        </thead>
        <tbody>
            <tr v-for="cat in categories" :v-key="cat.id">
                <td>{{ cat.id }}</td>
                <td>{{ cat.name }}</td>
                <td>    
                    <img :src="BASE_URL+'images/'+cat.image" width="100px">
                </td>
                <td>0</td><td>¥0.0</td>
            </tr>
        </tbody>
     </table>
</template>
<script lang="ts" setup>
    import { onMounted,ref } from 'vue'
    //后端服务的访问地址
    const BASE_URL="http://localhost:3000/"
    // const BASE_URL="http://johnyu.cn:3000/categories"
    //定义一个响应式数据,用于存储商品分类信息
    const categories=ref([])
   //在页面加载完成后从服务器获取商品分类信息
   //此处使用了JS异步函数
    onMounted(async ()=>{
        const resp=await fetch(BASE_URL+"categories");
        const data=await resp.json();
        categories.value=data;
    })
</script>
相关推荐
YL雷子3 小时前
纯前端使用ExcelJS插件导出Excel
前端·vue·excel
什么什么什么?3 小时前
el-table高度自适应vue页面指令
前端·javascript·elementui
码上暴富6 小时前
axios请求的取消
前端·javascript·vue.js
JefferyXZF7 小时前
Next.js 初识:从 React 到全栈开发的第一步(一)
前端·全栈·next.js
一只韩非子8 小时前
AI时代,程序员如何优雅地搞定页面设计?
前端·ai编程
新中地GIS开发老师8 小时前
2025Mapbox零基础入门教程(14)定位功能
前端·javascript·arcgis·gis·mapbox·gis开发·地理信息科学
tager8 小时前
Vue 3 组件开发中的"双脚本"困境
前端·vue.js·代码规范
烛阴8 小时前
Int / Floor
前端·webgl
excel8 小时前
使用 PWA 时,为什么你必须手动添加更新逻辑,否则会报错?
前端
Moment8 小时前
Node.js 这么多后端框架,我到底该用哪个?🫠🫠🫠
前端·后端·node.js