中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue.js實現價格計算器功能

發布時間:2020-08-30 15:01:59 來源:腳本之家 閱讀:294 作者:Dragonir 欄目:web開發

本文實例為大家分享了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 h2{
 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>
 <h2>價格計算器</h2>
 <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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉义市| 手游| 海伦市| 阜宁县| 木兰县| 诸暨市| 武汉市| 长丰县| 邢台市| 金川县| 庆云县| 铜川市| 井陉县| 志丹县| 林州市| 威信县| 怀仁县| 威海市| 南岸区| 互助| 雷波县| 崇礼县| 郑州市| 桂阳县| 葵青区| 施甸县| 屏山县| 玛曲县| 弥渡县| 从江县| 永兴县| 福州市| 三江| 南宁市| 沂水县| 大厂| 沂源县| 汽车| 鹤峰县| 吴忠市| 常山县|