HTML+CSS+JS 360商城网站界面

本文介绍了如何使用HTML、CSS和Vue3技术,结合div样式和flex布局,实现商城界面的静态展示,包括轮播图设计和表格数据的v-for列表渲染,同时强调了使用Vue3的响应式特性以及正确使用v-for和key属性以优化性能。
摘要由CSDN通过智能技术生成

1、 项目介绍

  • 将html+css结合,实现静态商城界面展示,主要运用div样式、flex布局等
  • 通过使用js实现商城界面轮播图设计
  • 使用vue中v-for列表渲染解决商城静态网站中表格数据格式重复问题,减少代码量

2、技术介绍

v-for指令基于一个数组来渲染一个列表。 语法格式:item in items

  • 1、items是源数据数组,而item则是被迭代的数组元素的别名(item数组迭代子项)。(即items相当于数组,item相当于数组中的元素)。
  • 2、位置索引: v-for 支持使用可选的第二个参数表示当前项的位置索引 v-for=“(item, index) in items”

使用总结:

在HTML中引用Vue3进行使用

 <!-- 通过使用CDN引用vue组件 -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
  1. 文字信息 ul li标签中
<ul class="black-nav-left">
    <li v-for="item in items">
        {{ item.message }}
     </li>
</ul>

js代码:

items: [{
                message: '帮助中心'
            }, {
                message: '收藏'
            }, {
                message: '360官网'
            }, {
                message: '360智慧生活'
            }]
  1. 图片内容
<div v-for="(image,index) in images" :key="index">
     <a href="#" class="remen hover_item">
        <img :src="image.src" :alt="image.alt" class="remen hover_item">
      </a>
 </div>
images: [{
                src: 'images/1.1.webp',
                alt: 'Image1'
            }, {
                src: 'images/1.2.webp',
                alt: 'Image1'
            }, {
                src: 'images/1.3.webp',
                alt: 'Image1'
            }, {
                src: 'images/1.4.webp',
                alt: 'Image1'
            }]
  1. 双层嵌套内容,如黑色菜单栏,根据点击不同循环不同信息
<ul>
    <li class="category_item" v-for="item in all" :key="item.id">
        <a class="fen">
            <span class="all">{{item.message}}</span>
        </a>
     <div class="slid-list">
      <ul>
        <li v-for="sub in item.subs">
            <img :src="sub.img">
              <span>{{sub.name}}</span>
        </li>
 </ul> </div> </li></ul>

内容过多,不全部展示,只展示格式内容

all:[{
                message: '智能手表',
                subs: [{
                    img: 'images/5.4.webp',
                    name: '智能手表'

                }]
            }]
  1. 复杂信息内容,根据需要的样式逐行书写语句即可
<li v-for="(item,index) in itemList" :key="item.id" class="product_item hover_item">
    <div class="title ">{{item.title}}</div>
    <div class="item_image">
        <img :src="item.img" alt="图片">
    </div>
    <p class="name">{{item.name}}</p>
    <p class="desc ">{{item.desc}}</p>
    <div class="price">
        <span class="cur_price">{{item.old_price}}</span>
        <span class="old_price">{{item.cur_price}}</span>
</div></li>
itemList: [{
                    id: 1,
                    title: '爆款',
                    img: 'images/2.3.webp',
                    name: '360智能摄像机云台7P超清版 AP1PA3',
                    desc: '400万超清全景 一键呼叫家人 微光全彩夜视',
                    cur_price: '¥219',
                    old_price: '¥219'
                }]

!上述需要嵌套到一个id标签,在标签中写vue3样式,每个标签如果有css样式,根据内容嵌套进入

js格式内容
const{createApp,reactive,toRefs,ref,onMounted}=Vue;
const app=createApp(
    {
        setup(){
            return{
                ....            
            }        
        }    
    }
)
const { createApp, reactive, toRefs, ref, onMounted } = Vue;
  • 这行代码首先从Vue对象中提取了五个属性或方法,它们分别是:
  • createApp:用于创建Vue应用程序实例方法
  • reactive:Vue3中用于创建响应式数据对象方法
  • toRefs:将响应式数据对象转化为普通引用对象方法
  • ref:Vue3中用于创建响应式数据的基本数据类型包装器
  • onMounted:用于在组件实例挂载后执行的生命周期钩子函数
    通过将这些属性和方法提取出来,你可以在代码中更方便地使用它们,而不需要每次都通过Vue.createApp或Vue.reactive等方式来调用。
例如,你可以这样使用它们:
javascript插入代码复制代码const app = createApp(...); // 创建Vue应用程序实例
const data = reactive(...); // 创建响应式数据对象
const refs = toRefs(data); // 将响应式数据对象转化为引用对象
const count = ref(0); // 创建一个响应式的数字
onMounted(() => {
  // 在组件挂载后执行的代码
});
key属性添加到v-for中,最好都添加一个key属性,节约空间
<p v-for="(item,index) in items :key="item.id"">
{{item}}<p>
//在应用场景中,加入索引id,可以顺序更换,避免就地更新

3、项目展示

界面展示情况如下图
在这里插入图片描述上方有图片logo,搜索栏,导航栏等等,代码地址如下所示:网站代码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值