vue計算屬性get和set用法示例

這篇文章主要介紹了vue計算屬性get和set用法,結合實例形式分析了計算屬性的功能及get和set用法的具體使用技巧,需要的朋友可以參考下

本文實例講述了vue計算屬性get和set用法。分享給大家供大家參考,具體如下:

計算屬性是什麼:vue文檔裏是這麼說的,模板中綁定太多的邏輯會讓模板過重且難以維護。

換句話說,就是可以自己設置值(b值),這個值和data下定義的值(a值)存在某些關係,b的值是基於a的值,通過某些邏輯產生出來的值,b值可以直接拿到template裏去用。當a的值發生變化的時候,b的值會跟着變化。就是計算屬性中的默認值get。那set又是什麼鬼?

b的值是基於a的變化而變化的,那麼直接修改b的值的時候,會怎麼樣?這裏會走進set方法裏去。

總之一條:b的值始終是依賴a的值存在和變化的。最後渲染出來的a爲100,b爲110

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>vue計算屬性get和set</title>
  <style>
  </style>
  <script src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js"></script>
</head>
<body>
  <div id="app">
    <p>a的值是:{{a}}</p>
    <p>b的值是:{{b}}</p>
    <button @click="change">按鈕</button>
  </div>
  <script>
    new Vue({
      el: '#app',
      data:{
        a:1
      },
      computed: {
       b: {
        // getter
        get: function () {
         return this.a + 10
        },
        // setter
        set: function (val) {
          this.a = val
        }
       }
      },
      methods:{
       change() {
       this.b = 100
       }
      }
    })
  </script>
</body>
</html>

這裏使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運行結果:

希望本文所述對大家vue.js程序設計有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章