Vue Uni-App 快捷代码片段提升开发效率

需积分: 25 0 下载量 183 浏览量 更新于2024-08-10 收藏 1KB TXT 举报
这是一个Vue.js与Uni-App相关的代码片段,用于在Visual Studio Code (VSCode)中快速生成模板代码,以提高前端开发效率。该代码片段主要用于Vue组件的编写,包含了Vue-uni-app项目的常用结构,如模板、脚本和样式部分,并内置了一些常见的Vue生命周期钩子函数。 详细说明: 1. **Vue组件结构**:代码片段展示了Vue组件的基本结构,包括`<template>`、`<script>`和`<style>`三个主要部分,用于定义视图模板、逻辑处理和样式定义。 2. **模板(Template)**:`<template>`部分用于编写UI界面,这里包含了一个`<view>`标签,可以自定义class属性和内容,用于展示组件的具体内容。 3. **脚本(Script)**: - `data()`:定义组件的初始数据,返回一个对象,其中的属性将作为Vue实例的数据绑定。 - `computed`:计算属性,基于其他数据进行计算并返回结果,可以缓存结果以提高性能。 - `watch`:用于监听data中的数据变化,当数据变化时执行回调函数。 - 生命周期钩子函数: - `onLoad(options)`:页面加载完成后调用,此时可以访问组件实例但不能访问DOM。 - `onShow()`:页面显示时调用,无法访问DOM。 - `onReady()`:组件挂载完成后调用,可以访问DOM元素。 - `onHide()`:页面隐藏时调用。 - `onUnload()`:页面卸载时调用。 - `methods`:定义组件的方法集合,这些方法可以在模板中通过`v-on`或`@`触发。 4. **样式(Style)**:`<style lang='scss'>`部分允许使用SCSS语法来编写组件的样式,提供了变量 `$4` 供开发者自定义。 5. **代码片段使用**:在VSCode中,输入`vue-uniApp`作为前缀,可以自动补全这个代码结构,快速创建一个新的Vue组件,节省了手动编写基础结构的时间。 通过这个代码片段,开发者可以更高效地构建Vue-uni-app项目,特别是在处理多个组件时,能够减少重复的工作,提高开发效率。同时,它也体现了Vue.js的声明式编程思想和响应式数据绑定特性,以及Uni-App跨平台开发的便利性。

代码片段:<view class="price_box_item"> <block v-for="(item,index) in priceData" :key="index" > <view class="item_con bg-image" :style="{'background-image':url(${OSSImgUrl}/images/20230403_newApp/box/offline_price_item_bg.png)}" @tap.stop="onSelectPrice(item, index)" > <view class="price_1">¥</view> <view class="price_2">{{item.price / 100}}</view> <image class="price_active" :src="${OSSImgUrl}/images/20230403_newApp/box/price_active.png" v-if="selectedPriceCode == item.priceCode" ></image> </view> </block> </view> <confirm-order ref="offlinePay" :payData="payData" payType="offline" @onPay="onPay" ></confirm-order>// 支付组件 import ConfirmOrder from '@/components/confirm-order/confirm-order.vue';// 选择价位 onSelectPrice(item, index){ var that = this; uni.$u.throttle( ()=> { if(item.priceCode == this.selectedPriceCode) return this.selectedPriceCode = item.priceCode; this.payData.price = item.price / 100; console.log('this.payData.price', index) this.priceIndex = index; this.payData.name = item.price / 100 + '元双盲盒大礼包' },1000) }, 怎么通过选择不同的价位,选择对应的优惠券,优惠券在支付组件中,以下是组件中的优惠券代码片段:async mounted() { this.getAddressList(); this.getCouponList1(); }, computed:{ discountPrice(){ //优惠金额 let selectedCoupon = this.selectedCoupon; let price = this.payData.price; if(selectedCoupon.type === 1){ //折扣 return (price * ((100 - selectedCoupon.discount) / 100)).toFixed(2) }else if(selectedCoupon.type === 2){ //满减 return (selectedCoupon.subPrice / 100).toFixed(2) }else{ return 0.00 } } },

2023-06-01 上传