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

添加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>
相关推荐
郭老二3 小时前
【前端】vue3:编译步骤
前端
不在逃避q4 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁4 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One9854 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易4 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
新中地GIS开发老师5 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户059540174466 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈6 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen7 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
IT_陈寒7 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端