Vue.js实现价格计算器功能


Posted in Javascript onMarch 30, 2020

本文实例为大家分享了Vue.js实现价格计算器功能的具体代码,供大家参考,具体内容如下

实现效果:

Vue.js实现价格计算器功能

实现代码及注释:

<!DOCTYPE html>
<html>
<head>
 <title>价格计算器</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <style type="text/css">
 
 /* 隐藏未编译的数据绑定,直到Vue实例成功加载 */
 [v-cloak]{
 display: none;
 }
 *{
 padding: 0;
 margin: 0;
 }
 body{
 font: 15px/1.3 "微软雅黑";
 color: #545b64;
 text-align: center;
 }
 a, a:visited{
 outline: none;
 color: #389dc1;
 }
 a:hover{
 text-decoration: none;
 }
 section, footer, header, aside, nav{
 display: block;
 }
 
 /*-------------------------
 The order form
 --------------------------*/
 
 form{
 background-color: #d5d5d5;
 border-radius: 10px;
 box-shadow: 0 1px 1px #ccc;
 width: 400px;
 padding: 35px 45px;
 margin: 50px auto;
 box-shadow: 1px 0px 20px #f5f5f5;
 }
 
 form h1{
 color:#fff;
 font-size: 55px;
 font-family: "微软雅黑"
 font-weight: normal;
 line-height:1;
 text-shadow:2px 3px 0 rgba(0,0,0,0.1);
 font-weight: normal;
 }
 
 form ul{
 list-style:none;
 color:#fff;
 font-size:20px;
 font-weight:bold;
 text-align: left;
 margin:20px 0 15px;
 }
 
 form ul li{
 padding:15px 30px;
 background-color:#03c03c;
 margin-bottom:10px;
 box-shadow:0 1px 1px rgba(0,0,0,0.1);
 cursor:pointer;
 }
 
 form ul li span{
 float:right;
 }
 
 form ul li.active{
 background-color: orange;
 }
 
 div.total{
 border-top:1px solid rgba(255,255,255,0.5);
 padding:15px 30px;
 font-size:20px;
 font-weight:bold;
 text-align: left;
 color:#fff;
 text-shadow: 2px 2px 2px rgba(0,0,0,0.1);
 }
 
 div.total span{
 float:right;
 }
 </style>
 
</head>
<body>
 
<!-- v-cloak隐藏所有没有编译过的数据绑定,直到vue实例准备好 -->
 
<form id="main" v-cloak>
 <h1>价格计算器</h1>
 <ul>
 
 <!-- 循环这个服务数组,分配一个点击句柄,并且设置或移除active class -->
 <li v-for="service in services" v-on:click="toggleActive(service)" v-bind:class="{'active': service.active}">
 
 <!-- 显示这个数组中每个实体的名称和价格格式化, Vue有一个内置的货币筛选器用于对价格进行 -->
 
 {{service.name}} <span>{{service.price | currency}}</span>
 
 </li>
 </ul>
 
 <div class="total">
 
 <!-- 计算所有选定商品的总价格,并且格式化为货币显示方式 -->
 
 总价: <span>{{total() | currency}}</span>
 </div>
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.5/vue.min.js"></script>
<script type="text/javascript">
 
 // 定义一个常规过滤器currency
 Vue.filter('currency', function(value){
 return '¥' + value.toFixed(2);
 });
 
 var demo = new Vue({
 el: '#main',
 data: {
 // 定义model属性,view将会循环
 // 通过services数组产生一个li
 // 定义services每一项的元素
 
 services: [
 {
  name: "网站开发",
  price: 300,
  active: true
 },
 {
  name: "设计",
  price: 400,
  active: false
 },
 {
  name: "一体化整合",
  price: 250,
  active: false
 },
 {
  name: "操作培训",
  price: 220,
  active: false
 }
 ]
 },
 
 methods: {
 toggleActive: function(s){
 s.active = !s.active;
 },
 total: function(){
 var total = 0;
 this.services.forEach(function(s){
  if(s.active){
  total+=s.price;
  }
 });
 return total;
 }
 }
 });
</script>
 
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript写的简单的计算器,内容很多,方法实用,推荐
Dec 29 Javascript
使用js完成节点的增删改复制等的操作
Jan 02 Javascript
jQuery之字体大小的设置方法
Feb 27 Javascript
jquery实现带二级菜单的导航示例
Apr 28 Javascript
一个检测表单数据的JavaScript实例
Oct 31 Javascript
scrollWidth,clientWidth,offsetWidth的区别
Jan 13 Javascript
用户代理字符串userAgent可实现的四个识别
Sep 20 Javascript
JS制作图形验证码实现代码
Oct 19 Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
Sep 01 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
Apr 08 Javascript
Vue如何循环提取对象数组中的值
Nov 18 Vue.js
js微信分享实现代码
Oct 11 #Javascript
Vue.js实现实例搜索应用功能详细代码
Aug 24 #Javascript
实例详解JSON取值(key是中文或者数字)方式
Aug 24 #Javascript
JSON创建键值对(key是中文或者数字)方式详解
Aug 24 #Javascript
使用jquery+iframe做一个ajax上传效果(实例)
Aug 24 #jQuery
webpack学习笔记之优化缓存、合并、懒加载
Aug 24 #Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
Aug 24 #Javascript
You might like
AM/FM收音机的安装与调试
2021/03/02 无线电
PHP4在Windows2000下的安装
2006/10/09 PHP
Php注入点构造代码
2008/06/14 PHP
php IP及IP段进行访问限制的代码
2008/12/17 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
js function使用心得
2010/05/10 Javascript
jquery 插件开发备注
2010/08/27 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
jQuery ready()和onload的加载耗时分析
2016/09/08 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
Python写的贪吃蛇游戏例子
2014/06/16 Python
详解Python中for循环的使用方法
2015/05/14 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
Python 面试中 8 个必考问题
2018/11/16 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
Python socket处理client连接过程解析
2020/03/18 Python
详解Python yaml模块
2020/09/23 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
公司拓展活动方案
2014/02/13 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
Python如何配置环境变量详解
2021/05/18 Python
pytorch--之halfTensor的使用详解
2021/05/24 Python