Vue.js-购物车案例

目录

1、Vuejs的认识和特点介绍

2、Vuejs安装方式

3、Vue体验

3.1HelloVuejs初体验

3.2Vue列表展示

3.3计数器案例

3.4Vue的mvvm

3.5Vue的options选项

3.6定义Vue的template(在WebStorm中实现)

4、插值操作——mustache(双大括号)

4.1mustache语法

4.2插值操作其他指令使用

4.2.1v-once指令

4.2.2v-html指令

4.2.3v-cloak指令

4.2.4v-pre指令

5、v-bind学习

5.1v-bind基本使用

5.2v-bind动态绑定class(对象语法)

5.3v-bind动态绑定class(数组语法)

5.4作业(v-for结合v-bind)

5.5v-bind动态绑定style

5.5.1对象语法

5.5.2数组语法

6.计算属性

6.1计算属性的基本使用

6.2计算属性的复杂使用

6.3计算属性的setter和getter(完整写法)

6.4计算属性和methods的比较

7、ES6相关知识

7.1块级作用域——let和var

7.2三种方案对比——(ES没有闭包、ES5有闭包、ES6let)

7.3const的使用

7.4ES6对象字面量的增强写法

8、事件监听

8.1v-on的基本使用和语法糖

8.2v-on的参数传递问题

8.3v-on的修饰符 

9、条件判断

9.1三个条件

9.2登录切换案例

9.3v-if和v-show对比 

10、循环遍历

10.1遍历数组

10.2遍历对象

10.3v-for使用过程添加key​编辑

10.4数组中哪些方法是响应式的

11、购物车案例


1、Vuejs的认识和特点介绍

Vue.js-购物车案例_第1张图片

2、Vuejs安装方式

Vue.js-购物车案例_第2张图片

 推荐使用第二种方法:右键——>链接另存为

3、Vue体验

3.1HelloVuejs初体验

体验数据(Vue实例)和界面(元素)完全分离,体验Vue的响应式(当数据发生改变的时候,界面会自动的发生一些响应)

编程范式:声明式编程

Vue.js-购物车案例_第3张图片

编程范式:命令式编程

3.2Vue列表展示

Vue.js-购物车案例_第4张图片

3.3计数器案例

Vue.js-购物车案例_第5张图片

3.4Vue的mvvm

Vue.js-购物车案例_第6张图片

Vue.js-购物车案例_第7张图片

Vue.js-购物车案例_第8张图片

3.5Vue的options选项

Vue.js-购物车案例_第9张图片

3.6定义Vue的template(在WebStorm中实现)

快速根据缩写生成模板文本

Vue.js-购物车案例_第10张图片

4、插值操作——mustache(双大括号)

4.1mustache语法

Vue.js-购物车案例_第11张图片

Vue.js-购物车案例_第12张图片

4.2插值操作其他指令使用

4.2.1v-once指令

Vue.js-购物车案例_第13张图片

Vue.js-购物车案例_第14张图片

4.2.2v-html指令

Vue.js-购物车案例_第15张图片

Vue.js-购物车案例_第16张图片

4.2.3v-cloak指令

Vue.js-购物车案例_第17张图片

4.2.4v-pre指令

Vue.js-购物车案例_第18张图片

5、v-bind学习

Vue.js-购物车案例_第19张图片

5.1v-bind基本使用

Vue.js-购物车案例_第20张图片

5.2v-bind动态绑定class(对象语法)

Vue.js-购物车案例_第21张图片

Vue.js-购物车案例_第22张图片

5.3v-bind动态绑定class(数组语法)

Vue.js-购物车案例_第23张图片

5.4作业(v-for结合v-bind)




  
  Title




  • {{index}}-{{item}}

5.5v-bind动态绑定style

Vue.js-购物车案例_第24张图片

Vue.js-购物车案例_第25张图片

5.5.1对象语法

Vue.js-购物车案例_第26张图片

5.5.2数组语法

Vue.js-购物车案例_第27张图片

6.计算属性

6.1计算属性的基本使用

Vue.js-购物车案例_第28张图片

6.2计算属性的复杂使用

Vue.js-购物车案例_第29张图片

6.3计算属性的setter和getter(完整写法)

Vue.js-购物车案例_第30张图片

6.4计算属性和methods的比较

Vue.js-购物车案例_第31张图片

7、ES6相关知识

7.1块级作用域——let和var

Vue.js-购物车案例_第32张图片

7.2三种方案对比——(ES没有闭包、ES5有闭包、ES6let)

7.3const的使用

Vue.js-购物车案例_第33张图片

Vue.js-购物车案例_第34张图片

7.4ES6对象字面量的增强写法

Vue.js-购物车案例_第35张图片

8、事件监听

8.1v-on的基本使用和语法糖

Vue.js-购物车案例_第36张图片

Vue.js-购物车案例_第37张图片

8.2v-on的参数传递问题

Vue.js-购物车案例_第38张图片

8.3v-on的修饰符 

9、条件判断

9.1三个条件

Vue.js-购物车案例_第39张图片

9.2登录切换案例

登录切换案例:

Vue.js-购物车案例_第40张图片

案例出现的小问题:

Vue.js-购物车案例_第41张图片

9.3v-if和v-show对比 

Vue.js-购物车案例_第42张图片

10、循环遍历

10.1遍历数组

Vue.js-购物车案例_第43张图片

10.2遍历对象

Vue.js-购物车案例_第44张图片

10.3v-for使用过程添加key

 v-for:数组渲染之后,在中间插入元素的渲染过程Vue.js-购物车案例_第45张图片

Vue.js-购物车案例_第46张图片

10.4数组中哪些方法是响应式的




  
  Title


  • {{items}}

11、购物车案例

index.html




  
  Title
  


书籍名称 出版日期 价格 购买数量 操作
{{item.id}} {{item.name}} {{item.date}} {{item.price|showPrice}} {{item.count}}

总价格:{{totalPrice}}

购物车为空

main.js

const app=new Vue({
  el:'#app',
  data:{
    books:[
      {
        id:1,
        name:'《算法导论》',
        date:'2006-9',
        price:85.00,
        count:1
      },
      {
        id:1,
        name:'《算法导论》',
        date:'2006-9',
        price:85.00,
        count:1
      },
      {
        id:1,
        name:'《算法导论》',
        date:'2006-9',
        price:85.00,
        count:1
      },
      {
        id:1,
        name:'《算法导论》',
        date:'2006-9',
        price:85.00,
        count:1
      }
    ]
  },
  methods:{
    // getFinalPrice(price){
    //   return '$'+price.toFixed(2)
    // }

    decrease(index){
      this.books[index].count--
    },
    increase(index){
      this.books[index].count++
    },
    remove(index){
      this.books.splice(index,1)
    }
  },
  filters:{
    showPrice(price){
      return '$'+price.toFixed(2)
    }
  },
  computed:{
    totalPrice(){
      let totalPrice=0
      for(let i=0;i

 style.css

table {
  border:1px solid pink;
  border-collapse: collapse;
  border-spacing: 0;
}
th,td {
  padding: 8px 16px;
  border:1px solid cadetblue;
  text-align: left;
}
th{
  background-color: gold;
  color: aquamarine;
  font-weight: 100;
  font-size: 14px;
}

你可能感兴趣的:(06,vue学习,vue.js)