"vue js shopping card"
Bootstrap 3.0.0 Snippet by evarevirus

<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <!DOCTYPE html><html class=''> <head><script src='//production-assets.codepen.io/assets/editor/live/console_runner-079c09a0e3b9ff743e39ee2d5637b9216b3545af0de366d4b9aad9dc87e26bfd.js'></script><script src='//production-assets.codepen.io/assets/editor/live/events_runner-73716630c22bbc8cff4bd0f07b135f00a0bdc5d14629260c3ec49e5606f98fdd.js'></script><script src='//production-assets.codepen.io/assets/editor/live/css_live_reload_init-2c0dc5167d60a5af3ee189d570b1835129687ea2a61bee3513dee3a50c115a77.js'></script><meta charset='UTF-8'><meta name="robots" content="noindex"><link rel="shortcut icon" type="image/x-icon" href="//production-assets.codepen.io/assets/favicon/favicon-8ea04875e70c4b0bb41da869e81236e54394d63638a1ef12fa558a4a835f1164.ico" /><link rel="mask-icon" type="" href="//production-assets.codepen.io/assets/favicon/logo-pin-f2d2b6d2c61838f7e76325261b7195c27224080bc099486ddd6dccb469b8e8e6.svg" color="#111" /><link rel="canonical" href="https://codepen.io/travishorn/pen/qmBYxj?limit=all&page=17&q=shop" /> <link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css'><link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css'> <style class="cp-pen-styles"></style></head><body> <div id="app"> <div class="container mt-3 mt-sm-5"> <div class="row justify-content-between mb-3"> <div class="col-md-9"> <h1 class="display-1">Shop</h1> </div> <div class="col-md-3 text-right"> <button class="btn btn-primary btn-lg" type="button" data-toggle="modal" data-target="#cart"><i class="fa fa-shopping-cart"></i> {{ cart.length }}</button> </div> </div> <div class="row"> <div class="col-md-3" v-for="item in selling"> <div class="card"><img class="card-img-top" :src="item.image" :alt="item.name"/> <div class="card-block"> <h4 class="card-title">{{ item.name }}</h4> <div class="card-text">${{ item.price / 100 }}</div> <div class="row justify-content-end"> <button class="btn btn-primary" @click="addToCart" :data-id="item.id">Add to cart</button> </div> </div> </div> </div> </div> </div> <div class="modal fade" id="cart"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Cart</h5> <button class="close" type="button" data-dismiss="modal">×</button> </div> <div class="modal-body"> <table class="table"> <tbody> <tr v-for="item in cart"> <td>{{ item.name }}</td> <td>${{ item.price / 100 }}</td> </tr> <tr> <td></td> <td><strong>${{ cartTotal / 100 }}</strong></td> </tr> </tbody> </table> </div> <div class="modal-footer"> <button class="btn btn-secondary" data-dismiss="modal">Continue shopping</button> <button class="btn btn-primary">Check out</button> </div> </div> </div> </div> </div> <script src='//production-assets.codepen.io/assets/common/stopExecutionOnTimeout-b2a7b3fe212eaa732349046d8416e00a9dec26eb7fd347590fbced3ab38af52e.js'></script><script src='https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.10/vue.min.js'></script><script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script><script src='https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js'></script><script src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/js/bootstrap.min.js'></script> <script >var app = new Vue({ el: '#app', data: { cart: [], selling: [ { id: 1, image: '//placehold.it/200', name: 'Doo-dad', price: 999, }, { id: 2, image: '//placehold.it/200', name: 'Other Thing', price: 1499, }, { id: 3, image: '//placehold.it/200', name: 'An Item', price: 499, }, { id: 4, image: '//placehold.it/200', name: 'Thing', price: 299, }, ], }, computed: { cartTotal: function () { var i; var total = 0; for (i = 0; i < this.cart.length; i++) {if (window.CP.shouldStopExecution(1)){break;} total += this.cart[i].price; } window.CP.exitedLoop(1); return total; }, }, methods: { addToCart: function (e) { var i; var item; for (i = 0; i < this.selling.length; i++) {if (window.CP.shouldStopExecution(2)){break;} if (this.selling[i].id == e.target.getAttribute('data-id')) { this.cart.push(this.selling[i]); break; } } window.CP.exitedLoop(2); } } }); //# sourceURL=pen.js </script> </body></html>

Related: See More


Questions / Comments: