master
LeeNux 2 years ago
parent b1ed18daec
commit 93c3f6e0c2

@ -15,3 +15,5 @@ app.use(createPinia())
app.use(router) app.use(router)
app.mount('#app') app.mount('#app')

@ -4,38 +4,35 @@ import Pure from "@/layout/Pure.vue";
const router = createRouter({ const router = createRouter({
history: createWebHashHistory(import.meta.env.BASE_URL), history: createWebHashHistory(import.meta.env.BASE_URL),
routes: [ routes: [{
{ path: '/',
path: '/', component: Default,
component: Default, children: [{
children: [ path: '',
{ name: 'home',
path: '', component: () => import('../views/HomeView.vue')
name: 'home', }, {
component: () => import('../views/HomeView.vue') path: 'calc',
}, name: 'calc',
{ component: () => import('../views/CalcView.vue')
path: 'calc', }, {
name: 'calc', path: 'webview/:page',
component: () => import('../views/CalcView.vue') component: () => import('../views/Webview.vue'),
}, }]
{ }, {
path: 'webview/:page', path: '/pure',
component: () => import('../views/Webview.vue'), name: 'pure',
}, component: Pure, // 多嵌套了一层组件方便对webview组件进行统一管理
] children: [{
}, path: 'cart',
{ name: "cart",
path: '/pure', component: () => import('../views/CartView.vue')
name: 'pure', }, {
component: Pure, // 多嵌套了一层组件方便对webview组件进行统一管理 path: 'cart_fixed',
children: [{ name: "cart_fixed",
path: 'cart', component: () => import('../views/CartViewFixed.vue')
name: "cart", }],
component: () => import('../views/CartView.vue') }]
}],
}
]
}) })
export default router export default router

@ -2,4 +2,5 @@ export default [
{title: "首页", path: '/'}, {title: "首页", path: '/'},
{title: "计算器", path: '/calc'}, {title: "计算器", path: '/calc'},
{title: "购物车", path: '/webview/cart'}, {title: "购物车", path: '/webview/cart'},
{title: "购物车(改)", path: '/webview/cart_fixed'},
] ]

@ -0,0 +1,85 @@
<template>
<template v-for="(item,index) in data.list">
<card
:num="item.num"
:price="item.price"
:desc="item.desc"
:title="item.title"
thumb="https://fastly.jsdelivr.net/npm/@vant/assets/ipad.jpeg">
<template #footer>
<button size="mini" @click="sub(item)">-</button>
<button size="mini" @click="add(item)">+</button>
</template>
</card>
</template>
<submit-bar :price="price*100" button-text="" @submit="onSubmit">
<checkbox v-model="checked"></checkbox>
<template #tip>
你的收货地址不支持配送, <span @click="onClickLink"></span>
</template>
</submit-bar>
</template>
<script setup>
import {ref, reactive} from 'vue'
import {showToast, Card, Button, Tag, SubmitBar, Checkbox, CheckboxGroup} from 'vant';
import {onMounted, onBeforeMount, onUpdated} from "vue";
const data = reactive({
list: []
})
const price = ref(0)
const sub = (item) => {
if (item.num < 1) return
else {
item.num--
price.value -= item.price
}
}
const add = (item) => {
item.num++
price.value += item.price
}
onMounted(() => {
setTimeout(() => {
data.list = [{
title: "手机",
desc: "xxxxxxx",
price: 1999,
num: 0
},
{
title: "电脑",
desc: "xxxxxxx",
price: 6999,
num: 0
},
{
title: "包包",
desc: "xxxxxxx",
price: 12999,
num: 0
}]
}, 1200)
// axios.get()
})
onBeforeMount(() => {
console.log("beforeMounted")
})
const checked = ref(false)
const onSubmit = () => showToast('点击按钮');
const onClickLink = () => showToast('修改地址');
</script>
<style scoped>
</style>
Loading…
Cancel
Save