基于vue.js仿淘宝收货地址,并设置默认地址

这个案例主要是渲染地址列表,然后设置默认地址,与淘宝的收货地址功能一样,具体自行查看自己的淘宝收货地址;

效果图:
在这里插入图片描述
html结构


<!--the-address-->
<div class="the-address">
    <div class="adr-tent" id="vue-address">
        <table class="adr-table">
            <thead class="table-thead">
                <tr>
                    <th rowspan="1" class="thh">
                        <span class="tn">收货人</span>
                    </th>
                    <th rowspan="1" class="thh">
                        <span class="tn">所在地区</span>
                    </th>
                    <th rowspan="1" class="thh">
                        <span class="tn">详细地址</span>
                    </th>
                    <th rowspan="1" class="thh">
                        <span class="tn">邮编</span>
                    </th>
                    <th rowspan="1" class="thh">
                        <span class="tn">电话/手机</span>
                    </th>
                    <th rowspan="1" class="thh">
                        <span class="tn">操作</span>
                    </th>
                    <th rowspan="1" class="thh">
                        <span class="tn">设置</span>
                    </th>
                </tr>
            </thead>
            <tbody class="table-tbody">
                <tr class="item" v-for="(v,i) in addressList">
                    <td class="tdd">
                        <span class="ti">
                            <em class="tt">{{v.name}}</em>
                        </span>
                    </td>
                    <td class="tdd">
                        <span class="ti">
                            <em class="tt">{{v.address}}</em>
                        </span>
                    </td>
                    <td class="tdd">
                        <span class="ti">
                            <em class="tt">{{v.detailAddress}}</em>
                        </span>
                    </td>
                    <td class="tdd">
                        <span class="ti">
                            <em class="tt">{{v.zipCode}}</em>
                        </span>
                    </td>
                    <td class="tdd">
                        <span class="ti">
                            <em class="tt">{{v.phone}}</em>
                        </span>
                    </td>
                    <td class="tdd">
                        <span class="ti">
                             <div class="handle">
                                <a href="javascript:;" class="a-chg">修改</a>
                                <i class="line">|</i>
                                <em class="i-del">删除</em>
                            </div>
                        </span>
                    </td>
                    <td class="tdd">
                        <span class="ti">
                             <em class="set-def cur" v-if="v.isDefault">默认地址</em>
                             <em class="set-def" v-else @click="setDefault(i)">设为默认</em>
                        </span>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</div>

js功能

 //地址管理
    const vueAddress = new Vue({
        el: '#vue-address',
        data(){
            return{
                addressList: [], //地址列表
            }
        },
        created(){
            this.getAddressJson();
        },
        methods:{
            //获取地址列表数据
            getAddressJson(){
                let url = 'json/addressTest.json';
                axios.get(url)
                    .then(response =>{
                        this.addressList = response.data.list;
                    })
                    .catch(error => {
                        console.log(error)
                    })
            },

            //设置默认地址
            setDefault(i){
                const addressList = this.addressList;
                addressList.forEach((item, index) => {
                    item.isDefault = index == i;
                });
                addressList.splice(0, 0, ...addressList.splice(i, 1));
            }

        }
    });

源码会持续更新到公众号,需要可以关注一下哦…
在这里插入图片描述

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 基于vue.js的移动端设计是一种应用vue.js框架开发移动端应用的设计方法。vue.js是一种轻量级、灵活、易学易用的JavaScript框架,可以用于构建用户界面。在移动端设计中,vue.js可以帮助我们实现响应式的界面设计,提供良好的用户体验。 基于vue.js的移动端设计具有以下特点和优势: 1. 组件化开发:vue.js使得我们可以将页面划分为多个组件,每个组件都有自己的功能和样式。这样我们可以方便地对不同的组件进行修改和重用,提高开发效率。 2. 响应式设计:vue.js采用了双向数据绑定的方式,可以实时更新界面上的数据。这使得移动端应用能够根据用户的操作动态地改变界面显示,提供更好的交互体验。 3. 轻量级框架:vue.js的文件大小较小,加载速度快,适合用于移动端应用的开发。同时,它也具有良好的性能,可以在移动设备上流畅运行。 4. 强大的生态系统:vue.js拥有丰富的插件和第三方库,可以方便地扩展功能。这使得我们可以快速地添加一些常用的组件和工具,提高开发效率。 基于vue.js的移动端设计需要了解vue.js的基本语法和特性,并熟悉移动端开发的相关技术和工具。同时,还需要考虑移动设备的特点,如不同尺寸的屏幕、触摸操作等,来优化用户体验。在具体的项目中,我们可以使用vue-cli创建项目、使用vue-router进行页面导航、使用vuex进行状态管理等。 总之,基于vue.js的移动端设计可以帮助我们开发出高质量的移动应用,提供良好的用户体验。它是一种灵活、高效的设计方法,值得我们在移动端应用开发中探索和应用。 ### 回答2: 基于vue.js的移动端设计是指利用vue.js这个优秀的前端框架来构建适用于移动设备的网页或应用程序。vue.js是一个轻量级的框架,具有响应式设计和双向数据绑定的特性,非常适合用于开发移动端的用户界面。 使用vue.js可以提供更好的用户体验和性能表现。它的虚拟DOM机制可以高效地对应用的视图进行更新和渲染,减少了页面重新加载的次数,使得移动端的网页或应用程序更加流畅。 在开发移动端设计时,vue.js还提供了丰富的组件库,可以方便地构建各种移动端页面需要的交互元素和视图组件,例如按钮、表单、列表等。这样不仅可以快速构建界面,还能保持一致的设计风格,提高用户的使用体验。 另外,vue.js还支持移动端常用的触摸事件,可以通过监听用户的触摸手势来实现更多的交互效果。同时,vue.js也可以与其他常用的移动端开发工具和插件进行集成,例如打包工具webpack,移动端UI库Vant等,进一步丰富功能和提升开发效率。 总之,基于vue.js的移动端设计具有响应式设计、高性能、丰富的组件库和易于集成等特点,能够帮助开发者快速构建出优秀的移动端网页和应用程序。 ### 回答3: 基于Vue.js的移动端设计是一种使用Vue.js框架来开发移动端应用程序的方法。Vue.js是一种流行的JavaScript框架,它通过响应式的数据绑定和组件化的开发方式,可以简化移动端应用开发的复杂性。 首先,基于Vue.js的移动端设计可以利用到Vue.js强大的数据绑定功能。Vue.js使用了双向数据绑定的概念,它可以确保数据和视图的自动同步。在移动端设计中,我们可以将应用的数据和视图绑定起来,当数据发生变化时,视图会自动更新,从而提供更好的用户体验。 其次,基于Vue.js的移动端设计还可以充分利用Vue.js的组件化开发方式。组件化开发将应用的各个功能模块划分为独立的组件,每个组件都有自己的数据、视图和逻辑。这种方式有助于代码的复用性和维护性,同时也能提高开发效率。 另外,Vue.js还提供了一些移动端开发常用的插件和工具,例如Vue Router和Vuex。Vue Router可以用来管理移动端应用的路由,实现页面之间的跳转和导航;而Vuex则可以用来管理应用的状态,实现不同组件之间的状态共享。 总体而言,基于Vue.js的移动端设计具有简洁、高效和灵活等优点。它能够帮助开发人员快速搭建出结构清晰、交互流畅的移动应用,同时也为项目的维护和后续的扩展提供了便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值