master
LeeNux 2 years ago
parent b1ed18daec
commit 93c3f6e0c2

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

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

@ -2,4 +2,5 @@ export default [
{title: "首页", path: '/'},
{title: "计算器", path: '/calc'},
{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