vue学习笔记(购物车小案例)

Vue实现简易购物车功能 阅读详情

用一个简单的购物车demo来回顾一下其中需要注意的细节。

先看一下最终效果

功能:

(1)全选按钮和下面的商品项的选中状态同步,当下面的商品全部选中时,全选勾选,反之,则不勾选。

(2)控制购物车商品数量,最低为1

(3)拥有小计和总计功能。其中,总计为勾选的商品所需要的总金额。

首先,先把静态页面写出来。

<template>
<div>
<h2>购物车</h2>
全选 <input type="checkbox" >
<div v-for="(item,index) in goods" :key="index">
<input type="checkbox" name="" id="" >

--商品名:{{ item.name }}  --价格:{{ item.price }} 
<!-- 后端数据没有item.num,就使用或1的形式给所有商品默认的数量为1,这样就不用一个个在后端数据中加了 -->
--<button type="button" >+</button>{{item.num || 1}}<button  >-</button>
--小计:0
</div>
<div>总计:0</div>
</div>

</template>

上面的代码将静态页面写了出来,目前没有任何功能而。我们一一进行功能的添加。首先,实现简单的数量加减和小计。

思路:

现在存在两种情况,

第一,就是后端返回了商品数量,也就是item.num这个数据后端是直接给你的,然后我们直接进行使用即可。但是,实际的情况是后端返回的数量是这个商品的总库存,作为我们的购物车来说,一般默认的数量是为1的。所以,这里我们使用逻辑运算符的情况考虑了两种情况。

然后就是加一和减一,比较容易的方法就是直接给加和减分别绑定点击事件,分别进行加减,这里需要使用两个方法。这样的方法就不再介绍。不如换一个思路,让两个事件使用同一个事件,这样就少写了一个方法。

就是两者都是加,而减的操作是加-1.这样就可以合并为一个方法。

代码如下

updateNum(actionType,index){
      //初始化num
      this.goods[index].num = this.goods[index].num||1

      //数量操作
      this.goods[index].num+=actionType

    },

解释一下,第一个参数就是传递过来的值,是加1,还是加-1,第二个值就是对应的索引,因为要对对应的商品进行数量加减操作,所以需要对应商品的索引。

首先,在考虑初始化num的时候,也要考虑num不存在的情况,

然后进行对应的数量操作即可。

那么我们的小计也就可以根据商品数量和价格进行计算了,注意:也要考虑数量不存在的情况。

对应的代码为:

<button type="button" @click="updateNum(1,index)">+</button>{{item.num || 1}}
<button   @click="updateNum(-1,index)">-</button>
--小计:{{(item.num ||1) *item.price}}
</div>

然后就是全选,商品单选,和总计的功能了。

首先进行全选实现,就是让全选的状态和商品单选进行同步。

我们首先定义全选的状态,默认是不选中的。( isAllSelected:false,)

 data(){
    return{
      isAllSelected:false,
      goods:[{
        name:"商品1",
        price:"100",
        // num:"1",
      },
      {
        name:"商品2",
        price:"200"
      },
      {
        name:"商品3",
        price:"300"
      }]
    }
  },

然后对应的给他添加change事件(注意,这里是change事件,并不是click)

全选 <input type="checkbox" :checked="isAllSelected" @change="allSelect">

使用动态绑定属性使他与 isAllSelected:的状态同步,然后写allSelect方法

allSelect(){
      this.isAllSelected=!this.isAllSelected
      console.log(this.isAllSelected);

      //同步单选状态
      this.goods.forEach(item=>{
        item.select=this.isAllSelected
      })
    },

这里就是让他的状态和下面的商品列表的选择框进行同步,思路为:就是对下面的商品列表进行遍历,使用forEach方法,并将其状态赋值给每一项商品的选择状态。

然后就是当下面的每一项的商品取消选中时,那个全选的状态要进行改变。

这里用到另一个数组方法every

singleSelect(index){
      //修改当前单选商品状态
      this.goods[index].select=!this.goods[index].select

      //使用every方法循环数组,如果有一个select为false
      //整个结果为false 全部为true 整个结果为true
      //和我们单选联动 全选逻辑一致
      //直接使用返回值 赋给全选状态
      this.isAllSelected=this.goods.every(item=>item.select)
    }

最后就是总计了,这里的总计是将所有选中的商品进行金额的计算。

这里也是用到了两个数组方法,他们分别是filter和every。

<div>总计:{{ goods.filter(item=>item.select).reduce((total,item)=>total+=item.price*(item.num ||1),0) }}</div>

然后解释一下,这里首先使用filter方法将满足选中状态的商品进行过滤,返回的是一个数组,然后再将返回的数组使用累加方法reduce进行金额的计算。

完整代码附上:

<!--
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2024-07-06 16:18:52
 * @LastEditors: Mei
 * @LastEditTime: 2024-07-06 17:03:12
 * @FilePath: \Fighting\new_project_0705\my-vue-app\src\components\shopcar.vue
 * @Description: 
 * 
 * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved. 
-->
<template>
<div>
<h2>购物车</h2>
全选 <input type="checkbox" :checked="isAllSelected" @change="allSelect">
<div v-for="(item,index) in goods" :key="index">
<input type="checkbox" name="" id="" :checked="item.select" @change="singleSelect(index)">

--商品名:{{ item.name }}  --价格:{{ item.price }} 
<!-- 后端数据没有item.num,就使用或1的形式给所有商品默认的数量为1,这样就不用一个个在后端数据中加了 -->
--<button type="button" @click="updateNum(1,index)">+</button>{{item.num || 1}}<button   @click="updateNum(-1,index)">-</button>
--{{(item.num ||1) *item.price}}
</div>
<div>总计:{{ goods.filter(item=>item.select).reduce((total,item)=>total+=item.price*(item.num ||1),0) }}</div>
</div>

</template>

<script>
export default {
  data(){
    return{
      isAllSelected:false,
      goods:[{
        name:"商品1",
        price:"100",
        // num:"1",
      },
      {
        name:"商品2",
        price:"200"
      },
      {
        name:"商品3",
        price:"300"
      }]
    }
  },
  methods:{
    updateNum(actionType,index){
      //初始化num
      this.goods[index].num = this.goods[index].num||1

      //数量操作
      this.goods[index].num+=actionType

    },

    allSelect(){
      this.isAllSelected=!this.isAllSelected
      console.log(this.isAllSelected);

      //同步单选状态
      this.goods.forEach(item=>{
        item.select=this.isAllSelected
      })
    },
    singleSelect(index){
      //修改当前单选商品状态
      this.goods[index].select=!this.goods[index].select

      //使用every方法循环数组,如果有一个select为false
      //整个结果为false 全部为true 整个结果为true
      //和我们单选联动 全选逻辑一致
      //直接使用返回值 赋给全选状态
      this.isAllSelected=this.goods.every(item=>item.select)
    }
  }
}
</script>


<style>

</style>

通过这个案例,主要是复习一下vue的常见指令的使用,主要是数组方法的使用。这里,将使用的四个数组方法进行详细的介绍。

①forEach

forEach 是 JavaScript 中的一个数组方法,它允许你对数组中的每个元素执行一个函数。这个方法接受一个回调函数作为参数,这个回调函数会对数组中的每个元素执行一次。此外,forEach 方法不会返回一个新数组,它仅仅是对原数组的每个元素执行了提供的函数。

forEach 的基本语法如下:


array.forEach(function(currentValue, index, arr), thisArg)
参数说明:

currentValue:数组中正在处理的当前元素。
index(可选):数组中正在处理的当前元素的索引。
arr(可选):forEach() 方法正在操作的数组。
thisArg(可选):执行回调函数时用作 this 的对象。

上面是官方的介绍,但是在实际的使用中,用的最多的还是currentValue,偶尔也会用到index,这里用一个上次的案例进行效果演示。(主要是遍历数组,记住不会返回新数组就行了)

<!--
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2024-07-05 21:28:45
 * @LastEditors: Mei
 * @LastEditTime: 2024-07-06 17:39:19
 * @FilePath: \Fighting\new_project_0705\my-vue-app\src\components\practice5.vue
 * @Description: 
 * 
 * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved. 
-->
<template>

  <div>
    <div id="myList" v-for="(item,index) in arr" :key="index" @click="arrTest">{{ item.name }}

    </div>
  </div>

</template>


<script>
//列表渲染
//为什么循环的时候需要加key
//1.key的作用主要是为了高效的更新虚拟Dom,提高渲染性能
//2.key属性可以避免数据混乱的情况出现
export default{
  data(){
    return{
      arr:[{
        name:"张三"
      },
    {
      name:"李四"
    },
  {
    name:"王五"
  }]
    }
  },
  methods:{
    arrTest(){
      this.arr.forEach((item,index)=>{
        console.log("我是每一项",item);
        console.log("我是每一项的索引",index);
      })
    }
  }
}

</script>

<style scoped>
#myList{
  color: blue;
  background-color: yellow;
  margin-top: 20px;
}
</style>

效果如下:

②every

every 是 JavaScript 中的一个数组方法,用于测试数组的所有元素是否都满足提供的函数中的测试条件。如果所有元素都通过测试,则返回 true;否则,返回 false。这个方法不会改变原数组,而是返回一个布尔值。

every 方法的基本语法如下:

array.every(function(currentValue, index, arr), thisArg)


参数说明:

currentValue:数组中正在处理的当前元素。
index(可选):数组中正在处理的当前元素的索引。
arr(可选):every 方法正在操作的数组。
thisArg(可选):执行回调函数时用作 this 的值。如果省略了 thisArg 参数,或者设为 null 或 undefined,则 this 会被视为全局对象。在严格模式下,如果省略或为 null 或 undefined,则 this 会是 undefined。

还是一个案例来演示:

<!--
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2024-07-05 21:28:45
 * @LastEditors: Mei
 * @LastEditTime: 2024-07-06 17:53:54
 * @FilePath: \Fighting\new_project_0705\my-vue-app\src\components\practice5.vue
 * @Description: 
 * 
 * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved. 
-->
<template>

  <div>
    <div id="myList" v-for="(item,index) in arr" :key="index" @click="arrTest">{{ item.name }}
      
    </div>
    <div>
      <button @click="arrTest2">点我看every{{ testEvery }}</button>
    </div>
  </div>

</template>


<script>
//列表渲染
//为什么循环的时候需要加key
//1.key的作用主要是为了高效的更新虚拟Dom,提高渲染性能
//2.key属性可以避免数据混乱的情况出现
export default{
  data(){
    return{
      testEvery:"",
      arr:[{
        name:"张三"
      },
    {
      name:"李四"
    },
  {
    name:"王五"
  }],
  arr2:[{
    age:10
  },
  {
    age:20
  },
  {
    age:30
  }]
    }
  },
  methods:{
    arrTest(){
      this.arr.forEach((item,index)=>{
        console.log("我是每一项",item);
        console.log("我是每一项的索引",index);
      })
    },
    arrTest2(){
      this.testEvery=this.arr2.every((item,index)=>{
        return item.age>5
      })
      
    }
  }
}

</script>

<style scoped>
#myList{
  color: blue;
  background-color: yellow;
  margin-top: 20px;
}
</style>

写一个按钮,当我们点击按钮的时候,就可以看到arrTest2返回的值,我们可以看到多了一个true,因为在执行every后,this.testEvery=true,对应页面的testEvery值也会进行显示。

③filter

filter 是 JavaScript 中的一个非常有用的数组方法,它创建一个新的数组,该数组包含通过测试函数的所有元素。换句话说,filter 方法会遍历原数组,对每个元素执行一个测试函数,如果该函数返回 true,则将该元素包含在新数组中。

filter 方法的基本语法如下:
let newArray = array.filter(function(currentValue, index, arr), thisArg)


参数说明:

currentValue:数组中正在处理的当前元素。
index(可选):数组中正在处理的当前元素的索引。
arr(可选):filter 方法正在操作的数组。
thisArg(可选):执行回调函数时用作 this 的值。
filter 方法返回一个新数组,该数组包含原数组中满足测试函数的元素。它不会改变原数组。

上代码

<!--
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2024-07-05 21:28:45
 * @LastEditors: Mei
 * @LastEditTime: 2024-07-06 18:03:11
 * @FilePath: \Fighting\new_project_0705\my-vue-app\src\components\practice5.vue
 * @Description: 
 * 
 * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved. 
-->
<template>

  <div>
    <div id="myList" v-for="(item,index) in arr" :key="index" @click="arrTest">{{ item.name }}
      
    </div>
    <div>
      <button @click="arrTest2">点我看Filter</button>
      <div v-for="(item,index) in testFilter " :key=index>{{ item.age }}</div>
    </div>
  </div>

</template>


<script>
//列表渲染
//为什么循环的时候需要加key
//1.key的作用主要是为了高效的更新虚拟Dom,提高渲染性能
//2.key属性可以避免数据混乱的情况出现
export default{
  data(){
    return{
      testEvery:"",
      testFilter:"",
      arr:[{
        name:"张三"
      },
    {
      name:"李四"
    },
  {
    name:"王五"
  }],
  arr2:[{
    age:10
  },
  {
    age:20
  },
  {
    age:30
  }]
    }
  },
  methods:{
    arrTest(){
      this.arr.forEach((item,index)=>{
        console.log("我是每一项",item);
        console.log("我是每一项的索引",index);
      })
    },
    arrTest2(){
      this.testFilter=this.arr2.filter((item,index)=>{
        return item.age>15
      })
      console.log(this.testFilter);
      
    }
  }
}

</script>

<style scoped>
#myList{
  color: blue;
  background-color: yellow;
  margin-top: 20px;
}
</style>

当我点击按钮后,对应返回的新数组就会被渲染出来。

④reduce

reduce 是 JavaScript 中的一个数组方法,用于将数组中的所有元素通过某个函数(称为“reducer”函数)归并成一个单一的结果。这个方法会遍历数组中的每个元素,并使用 reducer 函数将其累积成一个单一的值。

reduce 方法的基本语法如下:
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)


参数说明:

function(total, currentValue, currentIndex, arr): 这是 reducer 函数,它接受四个参数:
total(必需):初始值,或者计算结束后的返回值(累加器)。
currentValue(必需):当前元素。
currentIndex(可选):当前元素的索引。
arr(可选):当前元素所属的数组对象。
initialValue(可选):传递给函数的初始值。如果没有提供初始值,则将使用数组的第一个元素作为初始值,并从数组的第二个元素开始进行迭代。

上代码:

<!--
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2024-07-05 21:28:45
 * @LastEditors: Mei
 * @LastEditTime: 2024-07-06 18:11:41
 * @FilePath: \Fighting\new_project_0705\my-vue-app\src\components\practice5.vue
 * @Description: 
 * 
 * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved. 
-->
<template>

  <div>
    <div id="myList" v-for="(item,index) in arr" :key="index" @click="arrTest">{{ item.name }}
      
    </div>
    <div>
      <button @click="arrTest2">点我看Filter</button>
      <div v-for="(item,index) in testFilter " :key=index>{{ item.age }}</div>

      <button @click="arrTest3">点我看Reduce</button>
      <!-- <div v-for="(item,index) in testFilter " :key=index>{{ item.age }}</div> -->
    </div>
  </div>

</template>


<script>
//列表渲染
//为什么循环的时候需要加key
//1.key的作用主要是为了高效的更新虚拟Dom,提高渲染性能
//2.key属性可以避免数据混乱的情况出现
export default{
  data(){
    return{
      testEvery:"",
      testFilter:"",
      testReduce:0,
      arr:[{
        name:"张三"
      },
    {
      name:"李四"
    },
  {
    name:"王五"
  }],
  arr2:[{
    age:10
  },
  {
    age:20
  },
  {
    age:30
  }]
    }
  },
  methods:{
    arrTest(){
      this.arr.forEach((item,index)=>{
        console.log("我是每一项",item);
        console.log("我是每一项的索引",index);
      })
    },
    arrTest2(){
      this.testFilter=this.arr2.filter((item,index)=>{
        return item.age>15
      })
      console.log(this.testFilter);
      
    },
    arrTest3(){
      this.testReduce=this.arr2.reduce((total,item)=>{
        return total+item.age
      },0)
      console.log(this.testReduce);
      
    }
  }
}

</script>

<style scoped>
#myList{
  color: blue;
  background-color: yellow;
  margin-top: 20px;
}
</style>

我的年龄数据为10,20,30,他们累加之后为60,如果在最后一项,我不是以0为初始值,更改为1后,累加的值就变成了61. 

 this.testReduce=this.arr2.reduce((total,item)=>{
        return total+item.age
      },0)

【Vue案例】——实现简易购物车功能 简易购物车功能的实现 阅读详情

相关推荐

Vue练手项目之购物车案例(一)

vue练习 异步处理

weixin_48846123的博客 1268

Vue实现购物车功能

使用Vue组件完成一个带自动计算、删除、修改、选择、搜索、添加功能的购物车功能

2201_75321887的博客 7856

vue实现购物车小案例

本文实例为大家分享了vue实现购物车小案例的具体代码,供大家参考,具体内容如下 最终效果 HTML部分: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>shopcar.html</title> [removed][removed] [removed][removed] <link rel="stylesheet"

vue购物车案例(源码)

基于vue的购物车案例

m0_64970691的博客 5660

Android HWC硬件合成器实战:从SurfaceFlinger到显示驱动的完整流程解析

本文深入解析Android HWC硬件合成器从SurfaceFlinger到显示驱动的完整流程,揭示HWC如何优化图形性能并降低功耗。通过实战案例和调试技巧,帮助开发者掌握硬件加速的图层混合技术,提升移动设备的显示效率。

gaochao的博客 494

WIN10环境下STK11.5(含Analyzer, EOIR, Scheduler插件)的安装与破解全攻略

本文提供了一份详细的WIN10环境下STK11.5软件及其核心插件(Analyzer, EOIR, Scheduler)的安装与破解全攻略。内容涵盖从安装包准备、系统环境检查,到基础版安装、插件部署、破解文件替换及许可证配置的完整步骤,并附有常见问题排错指南,旨在帮助用户免费搭建功能齐全的卫星仿真分析环境。

solidity8miner的博客 756

Vue学习笔记——基于组件的购物车结算案例

Vue学习笔记——基于组件的购物车结算案例 需求分析: 按照组件化方式实现业务需求 根据业务功能进行组件化划分 ① 标题组件(展示文本) ② 列表组件(列表展示、商品数量变更、商品删除) ③ 结算组件(计算商品总额) ...

weixin_45655555的博客 583

基于STM32和K210的自动驾驶小车设计

自动驾驶技术正在迅速发展,成为了汽车行业和智能交通领域的热点之一。随着科技的发展,STM32和K210这两款芯片为自动驾驶小车提供了优秀的硬件支持。本文我们将学习如何使用STM32和K210打造一个简单的自动驾驶小车。提示:以下是本篇文章正文内容,下面案例可供参考通过这篇文章,掌握了如何使用STM32和K210构建一个简单的自动驾驶小车。通过了解基本的电路设计,并编写了STM32和K210的代码。通过这个例子,可以更好地理解如何在嵌入式系统中使用STM32和K210,以及如何实现自动驾驶小车的简单功能。

Kyle_Chan_zMH的博客 2219

Vue学习笔记(二)——购物车案例

标题 文章目录标题一、pandas是什么?1.引入库2.引入库二、使用步骤1.引入库2.读入数据 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 1.引入库 你好 2.引入库 二、使用步骤 1.引入库 2.读入数据 ...

qq2297329956的博客 206

使用STM32制作简易数字时钟

连接LED数码管的电源和地线到STM32单片机的对应引脚,将数码管的A、B、C、D引脚连接到STM32单片机的I/O口引脚。通过编写和调试这个项目,可以熟悉STM32单片机的GPIO口和定时器的使用,以及数字显示的控制。步骤六:测试和调试 通过观察数码管的显示,可以验证时钟功能是否正常工作。步骤四:编写代码 在主程序中,我们将使用定时器中断来控制时钟的运行,并使用GPIO口控制LED数码管的显示。步骤五:编译和下载 编译代码并下载到STM32单片机中,通过调试器和串口监视器进行调试和查看输出结果。

qq_67153941的博客 1303

远程声控系统(MATLAB代码见优快云资源)

远程声控系统技术报告 一、题目要求 实现一个远程声音控制系统。首先采集不同的语音指示信号,进行适当压缩;然后通过噪声信道实现远程传输,远端接收后再通过适当计算识别出是何指示,最后送入一个处于未知状态、但能控/能观的控制系统,完成不同的控制动作。 二、问题分解与解决思路 2.1 系统设计 实验中以汉语数字语音1~9作为指令,数字语音“1”代表一号指令,数字语音“2”代表二号指令,依次类推。发送端发出语音“1”,发送端对应的数字语音文件为“1b.wav”,通过信源编码对语音进行压缩编码,然后进行信道编码并进行基

业精于勤,荒于嬉 5734

Vue.js学习笔记——7.购物车小案例

购物车小案例目标实现 目标 实现一个购物车页面,从data中取得书本对象,将对象的各个属性展示到购物车表格中,提供增减书本数量和删除书本操作,书本数量为1时不可再减少,购物车没有书本时页面输出“购物车为空”,最后输出购物车内总价格,总价格随书本的数量动态变化 实现 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>购物车</

土拨鼠的忧伤的博客 466

计算机视觉与深度学习 | 基于Matlab的多特征融合可视化指纹识别系统(附完整代码)

此系统展示了一个完整的指纹识别流程,实际应用中可以根据需求进一步优化算法,如改进方向场计算、增加脊线频率特征、使用更精确的匹配算法等。

尘世冰封的专栏 361

VUE学习笔记:6.阶段练习之购物车案例讲解

1.需求讲解 我们不仅要实现上面的页面,还要实现以下功能: 实现购买数量的增减,且数量为1时-按钮不可点击。 实现移除操作:点击移除按钮,对应书籍从购物车中移除。 当所有书籍全部移除时,界面显示文字购物车为空 总价为各书籍价格*购买数量之和 2.页面基本搭建 我们先创建3个文件index.html,style.css,main.js来分别存放我们的HTML,CSS,JS代码。 先在main.js文件中,实例化一个vue,并增加书籍数据对象。 let vm = new Vue({ el: "#app"

ouyicnm的博客 930

Error response from daemon: Get “https://index.docker.io/v1/search?q=nginx&n=25“:

在使用docker seach 命令搜索镜像的时候遇到这个错误,docker pull是可以正常下载镜像的,关于这个问题,本文提供解决方案,完全可行。

猿小白的博客 1万+

2026年数字IC设计禾赛科技笔试带答案解析

本文介绍了一份数字IC设计工程师笔试的试卷结构和部分题目解析。试卷包含15道单选题(30分)、10道填空题(20分)和5道简答/编程题(50分),总分100分,考试时长120分钟。单选题涉及同步时序电路、Verilog语法、跨时钟域设计、FPGA优化、存储器层次、功耗优化等知识点;填空题考查环形振荡器、工艺参数、时序约束、LUT结构等基础概念。试题重点考察应聘者对数字电路设计核心概念的理解和实际工程应用能力,特别是针对激光雷达芯片设计中的关键技术点进行考核。

Open 123

Vue.js 学习笔记阶段案例:图书购物车

目录 案例一:图书购物车 案例一:图书购物车 效果图: 效果说明: 商品价格指定显示格式; 总价随数量增减变动; 总价随着删除变动。 style.css /*style.css*/ table { border: 1px solid #e9e9e9; border-collapse: collapse; border-spacing: 0; } th, td { padding: 8px 16px; border: 1px solid #e9e9e9; .

Stary 的 IT 之旅 250

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Vue学习笔记_08】案例-图书购物车 (filters过滤器)

【Vue学习笔记_08】案例-图书购物车效果展示filters代码技巧总结 这个案例结合了前面介绍的很多知识点,Mustache语法、v-if、v-else、v-for、v-bind、v-on、computed等等,以及新增知识点filters。 配套可执行代码示例 => GitHub 效果展示 filters filters:过滤器,和methods、computed是并列的,有点像函数,接受参数并返回值,一般用于对数据进行一些格式转换或过滤处理操作。 filters使用格式:变量|过滤器 在下面

weixin_44752429的博客 815

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VUE指令、computed计算属性和watch 侦听器(附带详细案例)

文章目录前言一、指令补充1. 指令修饰符2. v-bind对于样式操作的增强 - class3. 案例 - 京东秒杀 tab 导航高亮4. v-bind对于样式操作的增强 - style5. v-model应用于其他表单元素二、computed计算属性1. 基础语法2. 计算属性 vS method 方法3. 完整写法4. 成绩案例三、watch 侦听器1. 基础语法2. 业务实现3. 完整写法四、综合案例:水果购物车1. 渲染2. 删除和修改数量3. 全选反选4. 统计总价5. 本地持久化总结 前言 为

HHX_01的博客 1189

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Vue.js核心技术解析与uni-app跨平台实战开发学习笔记 第2章 Vue.js绑定样式及案例 2.5 简单版购物车案例

Vue.js核心技术解析与uni-app跨平台实战开发学习笔记 第2章 Vue.js绑定样式及案例 2.5 简单版购物车案例

代码改变世界 724

vue学习笔记(七)——购物车案例及开发中的一些心得体会

props: [] - 只声明变量, 不能类型校验props: {} - 声明变量和校验类型规则 - 不对则报错父组件定义属性子组件接收父组件传的值。

weixin_56370772的博客 345

Vuejs学习笔记1

Hello Vuejs el是用来设置Vue实例挂载(管理)的元素; date:数据对象 Vue中用到的数据定义在data中;data中可以写复杂类型的数据; 渲染复杂类型数据时,遵守js的语法即可; 声明式编程好处:实现数据与界面的完全分离 Vue列表展示 app.movies.push('海王') 可直接添加新元素至数组中 vue案例 使用 v-on 将 add 和 sub 分别绑定给 + 和 - 按钮 MVVM(Model-View-ViewM...

okiki_的博客 791

vue学习日记10:综合案例-购物车

(2)展示 减到1就不能再减,点击删除直接删除 这里写三元表达式也可以 三元表达式是一种在许多编程语言中常见的条件表达式,它由三个操作数组成:一个条件表达式、一个真值表达式和一个假值表达式。其一般形式为: 如果写成if...else 三元写法 被勾选的被计算 5.持久化本地如果用户对其操作之后 没有持久化刷新后就会成问题(1)代码 如果没有 || (defaultArr)清除缓存后就会null崩溃 ,加上之后就会默认回到初试页面了(2)展示

yinfanfff的博客 669
上一篇: Vue3学习笔记(n.0)
下一篇: vue学习笔记之组件传值
mez_Blog
mez_Blog 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域
博客等级 码龄9年 1万+粉丝 346原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mez_Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值