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

发布时间 - 2026-01-11 02:56:48    点击率:

本文实例为大家分享了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>

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


# Vue.js  # 计算器  # Vue.js实现的计算器功能完整示例  # 使用Vue实现简单计算器  # vue.js实现的经典计算器/科学计算器功能示例  # vue实现简单加法计算器  # vue实现简易的计算器功能  # Vue实现简易计算器  # vue实现计算器功能  # Vue实现手机计算器  # vue.js实现简单的计算器功能  # vue实现简单的计算器功能  # 微软  # 绑定  # 将会  # 句柄  # 大家分享  # 具体内容  # 大家多多  # 移除  # 有一个  # 每一项  # 网站开发  # 组中  # 这个数  # 加载  # hover  # visited  # outline  # font  # margin  # body 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何利用DOS批处理实现定时关机操作详解  如何在IIS服务器上快速部署高效网站?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Laravel如何使用.env文件管理环境变量?(最佳实践)  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  详解Android图表 MPAndroidChart折线图  如何用VPS主机快速搭建个人网站?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  如何快速查询网址的建站时间与历史轨迹?  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  魔方云NAT建站如何实现端口转发?  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  个人摄影网站制作流程,摄影爱好者都去什么网站?  网站制作价目表怎么做,珍爱网婚介费用多少?  Firefox Developer Edition开发者版本入口  JS中对数组元素进行增删改移的方法总结  太平洋网站制作公司,网络用语太平洋是什么意思?  JavaScript如何实现音频处理_Web Audio API如何工作?  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何撰写建站申请书?关键要点有哪些?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  WEB开发之注册页面验证码倒计时代码的实现  WordPress 子目录安装中正确处理脚本路径的完整指南  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  JS去除重复并统计数量的实现方法  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  北京的网站制作公司有哪些,哪个视频网站最好?  如何用PHP快速搭建高效网站?分步指南  公司门户网站制作流程,华为官网怎么做?  如何快速辨别茅台真假?关键步骤解析  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  如何确认建站备案号应放置的具体位置?  如何基于PHP生成高效IDC网络公司建站源码?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  javascript基本数据类型及类型检测常用方法小结  Laravel怎么为数据库表字段添加索引以优化查询  JS弹性运动实现方法分析  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  如何用美橙互联一键搭建多站合一网站?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?