vue實(shí)現(xiàn)簡單購物車案例
本文實(shí)例為大家分享了vue實(shí)現(xiàn)簡單購物車的具體代碼,供大家參考,具體內(nèi)容如下

代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">
<table>
<thead>
<tr>
<th></th>
<th>書籍名稱</th>
<th>出版日期</th>
<th>價格</th>
<th>購買數(shù)量</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for='(item,index) in books' ::key="item">
<td>{{item.id}}</td>
<td>{{item.name}}</td>
<td>{{item.date}}</td>
<td>{{item.price*item.count | getFinalPrice}}</td>
<td>
<button @click='reduce(index)' :disabled='item.count <= 1'>-</button>
{{item.count}}
<button @click='add(index)'>+</button>
</td>
<td>
<button @click='removeBtn(index)'>移除</button>
</td>
</tr>
</tbody>
</table>
<h2 v-if='books!=""'>總價格:{{theSumOf | getFinalPrice}}</h2>
<h2 v-else>購物車為空</h2>
</div>
</body>
<script src="../js/vue.min.js"></script>
<script>
var app = new Vue({
el: '#app',
data: {
books: [
{
id: 1,
name: '計(jì)算機(jī)應(yīng)用',
date: '2006-9',
price: 85.00,
count: 1
},
{
id: 2,
name: 'java應(yīng)用',
date: '2006-9',
price: 10.00,
count: 1
},
{
id: 3,
name: '大數(shù)據(jù)',
date: '2006-9',
price: 85.00,
count: 1
},
{
id: 4,
name: 'ui設(shè)計(jì)師',
date: '2006-9',
price: 85.00,
count: 1
},
],
addAnd:0
},
methods: {
add(index) {
this.books[index].count++
},
reduce(index) {
this.books[index].count--
},
removeBtn(index) {
this.books.splice(index, 1)
}
},
components: {
},
computed: {
theSumOf: function () {
//累加計(jì)算的第一種方法
//let sum = 0
//this.books.forEach(item => {
// sum += parseInt(item.price)*parseInt(item.count)
});
//return sum
//累加計(jì)算的第二種方式
//let sum = 0
//for(let i in this.books){
//sum += this.books[i].price*this.books[i]*count
}
//return sum
//累加計(jì)算的第三種方式
//let sum = 0
//for(let item of this.books){
//sum += item.price*item.count
//}
//return sum
//累加計(jì)算的第四種方法
return this.books.reduce(function(preValue,book){
return preValue + book.price*book.count
},0)
}
},
filters: {
getFinalPrice(price) {
return '¥' + price.toFixed(2)
},
}
});
</script>
<html>
關(guān)于vue.js的學(xué)習(xí)教程,請大家點(diǎn)擊專題vue.js組件學(xué)習(xí)教程、Vue.js前端組件學(xué)習(xí)教程進(jìn)行學(xué)習(xí)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue綁定數(shù)字類型 value為數(shù)字的實(shí)例
這篇文章主要介紹了vue綁定數(shù)字類型 value為數(shù)字的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
vue動態(tài)路由加載時出現(xiàn)Cannot?find?module?xxx問題
這篇文章主要介紹了vue動態(tài)路由加載時出現(xiàn)Cannot?find?module?xxx問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
vue render函數(shù)動態(tài)加載img的src路徑操作
這篇文章主要介紹了vue render函數(shù)動態(tài)加載img的src路徑操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
vue2.0與vue3.0及vue與react的區(qū)別及說明
這篇文章主要介紹了vue2.0與vue3.0及vue與react的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
iview table render集成switch開關(guān)的實(shí)例
下面小編就為大家分享一篇iview table render集成switch開關(guān)的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03

