溫馨提示×

溫馨提示×

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

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

怎么用Vue計算屬性實現(xiàn)成績單

發(fā)布時間:2021-08-09 02:21:01 來源:億速云 閱讀:463 作者:chen 欄目:開發(fā)技術

這篇文章主要介紹“怎么用Vue計算屬性實現(xiàn)成績單”,在日常操作中,相信很多人在怎么用Vue計算屬性實現(xiàn)成績單問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用Vue計算屬性實現(xiàn)成績單”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

本文實例為大家分享了Vue計算屬性實現(xiàn)成績單,供大家參考,具體內(nèi)容如下

代碼如下:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>成績單統(tǒng)計</title>
  <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
  <style type="text/css">
   .gridtable{
    font-family:verdana, arial, sans-serif;
    font-size:11px;
    color:#333333;
    border-width: 1px;
    border-color:#666666;
    border-collapse: collapse;
   }
   .gridtable th{
    border-width: 1px;
    padding:8px;
    border-style:solid;
    border-color:#666666;
    background-color: #dedede;
   }
   .gridtable td{
    border-width: 1px;
    padding:8px;
    border-style:solid;
    border-color:#666666;
    background-color: #ffffff;
   }
  </style>
 </head>
 <body>
  
  <div id="app">
   <table class="gridtable">
    <tr>
     <th>學科</th>
     <th>分數(shù)</th>
    </tr>
    <tr>
     <td>語文</td>
     <td>
      <input type="text" name="" id="" value="" v-model.number="Chinese" />
     </td>
    </tr>
    <tr>
     <td>數(shù)學</td>
     <td>
      <input type="text" name="" id="" value="" v-model.number="Math" />
     </td>
    </tr>
    <tr>
     <td>英語</td>
     <td>
      <input type="text" name="" id="" value="" v-model.number="English" />
     </td>
    </tr>
    <tr>
     <td>總分</td>
     <td>
      <input type="text" name="" id="" value="" v-model.number="sum" />
     </td>
    </tr>
    <tr>
     <td>平均分</td>
     <td>
      <input type="text" name="" id="" value="" v-model.number="average" />
     </td>
    </tr>
   </table>
  </div>
  
  <script>
   var vm=new Vue({
    el:"#app",
    data:{
     Chinese:100,
     Math:100,
     English:60
    },
    computed:{
     sum:function(){
      return this.Chinese+this.Math+this.English;
     },
     average:function(){
      return Math.round(this.sum/3);
     }
    },
    
   })
  </script>
 </body>
</html>

怎么用Vue計算屬性實現(xiàn)成績單

當我改變語文,數(shù)學·,英語的成績,總分和平均分會隨著實時變化,這就是Vue計算屬性的特點。

Vue計算屬性的傳參

計算屬性本質(zhì)是一個方法,但是通常被當作一個屬性來使用,一般不加()。但在實際開發(fā)中,如果需要給計算屬性中的方法傳參,就需要使用閉包傳參的方法。

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Evaluate</title>
  <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
  <div id="app">
   {{add(2)}}
  </div>
  
  <script type="text/javascript">
   var vm =new Vue({
    el:"#app",
    data:{
     number:1
    },
    computed:{
     add(){
      return function(index){
       return this.number+index;
      }
     }
    }
   })
  </script>
 </head>
 <body>
 </body>
</html>

注意:

  • 計算屬性本身不能像方法一樣在括號里填寫參數(shù)來達到傳參的目的,需要在該方法體里寫真正的方法,來接受參數(shù)。

  • 同理,計算屬性方法體參數(shù)可省略,即本例子中add(){}和add(index){}均可

計算屬性的getter和setter

計算屬性通常用來獲取數(shù)據(jù)(根據(jù)data的變化而變化),所以其默認只有getter,但需要時,Vue.js也提供setter功能。set方法與get方法先后順序無關,并且set方法接受的參數(shù)為get方法的返回值。

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>Computed</title>
  <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
 </head>
 <body>
  
  <div id="app">
   firstName:<input type="text" name="" id="" value="" v-model="first"/>
   lastName:<input type="text" name="" id="" value="" v-model="last"/>
   <p>fullName:<input type="text" name="" id="" value="" v-model="fullName"/></p>
  </div>
  <script type="text/javascript">
   var vm=new Vue({
    el:"#app",
    data:{
     first:"Jack",
     last:"Jones"
    },
    computed:{
     fullName:{
      get:function(){
       return this.first+" "+this.last
      },
      set:function(parameter){
       var names=parameter.split(" ")
       this.first=names[0]
       this.last=names[names.length-1]
      }
     }
    }
   })
  </script>
 </body>
</html>

計算屬性與方法的區(qū)別

使用計算屬性的這種方法可以確保代碼只在必要的時刻執(zhí)行,適合處理一些潛在資源密集型工作。但是,如果項目不具有緩存功能,則要使用methods,要根據(jù)實際情況而定。

計算屬性的特點如下:

①當計算屬性的依賴發(fā)生變化時,會立即進行計算,并對計算結(jié)果進行自動更新。
②計算屬性的求值結(jié)果會被緩存起來,以方便下次直接使用。
③計算屬性適用于執(zhí)行更加復雜的表達式,這些表達式往往太長或需要頻繁的重復使用,所以不能在模板中直接使用。
④計算屬性是data對象的一個擴展和增強版本。

到此,關于“怎么用Vue計算屬性實現(xiàn)成績單”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

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

vue
AI