91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

vue.js計算屬性computed用法實例分析

發布時間:2020-10-06 15:19:26 來源:腳本之家 閱讀:281 作者:</script> 欄目:web開發

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

需求:數據msg值為12345,我們現在需要反向顯示成54321。

在模板中綁定表達式是非常便利的,但是它們實際上只用于簡單的操作。在模板中放入太多的邏輯會讓模板過重且難以維護。例如:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script>
</head>
<body> 
  <div id="box">
    {{msg}}
    <hr>
    {{ msg.split('').reverse().join('') }}
  </div>
  <script type="text/javascript">
    var vm = new Vue({
      el:'#box',
      data:{
        msg:'12345'
      }
    });
    console.log(vm.reMsg); 
  </script>
</body>
</html>

使用本站HTML/CSS/JS在線運行測試工具:http://tools.jb51.net/code/HtmlJsRun,可得到如下測試運行效果:

vue.js計算屬性computed用法實例分析

Vue提供computed的方式。例如:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script>
</head>
<body> 
  <div id="box">
    {{msg}}
    <hr>
    {{reMsg}}
  </div>
  <script type="text/javascript">
    var vm = new Vue({
      el:'#box',
      data:{
        msg:'12345'
      },
      computed:{
        reMsg:function(){
          return this.msg.split('').reverse().join('')
        }
      }
    });
    console.log(vm.reMsg); 
  </script>
</body>
</html>

同樣的可以達到效果!

但是這邊的reMsg是不能被修改的!! 也就是修改的時候他不會按照我們js給的規則去向反顯示,因為默認只有getter,我們可以提供一個setter:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script>
</head>
<body> 
  <div id="box">
    {{msg}}
    <hr>
    {{reMsg}}
  </div>
  <script type="text/javascript">
    var vm = new Vue({
      el:'#box',
      data:{
        msg:'12345'
      },
      computed:{
        reMsg:{
          get:function(){
            return this.msg.split('').reverse().join('')
          },
          set:function(value){
            this.msg = value; //最后修改了msg  
          }
        }
      }
    });
    console.log(vm.reMsg = 'abcd');   //當我們修改這個變量的時候他的值也是跟隨著我們js規則反向顯示
  </script>
</body>
</html>

使用本站HTML/CSS/JS在線運行測試工具:http://tools.jb51.net/code/HtmlJsRun,可得到如下測試運行效果:

vue.js計算屬性computed用法實例分析

表達式計算demo:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
     content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <!-- Vue.js -->
  <script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script>
</head>
<body>
<div>
  <!--# 如表達式如果過長,或邏輯更為復雜時,就會變得臃腫甚至難以閱讀和維護 #-->
  {{ text.split(',').reverse().join(',') }}
  <!--# 所以在遇到復雜的邏輯時應該使用計算機屬性 #-->
</div>
<div id="app">
  {{ reversedText }}
</div>
</body>
</html>
<script>
  var app = new Vue({
    el:'#app',
    data:{
      text:'123,456'
    },
    //所有的計算屬性都以函數的形式寫在vue實例內的computed選項內,最終返回計算的結果
    computed:{
      reversedText:function () {
        //這里的this指向的是當前的vue實例
        return this.text.split(',').reverse().join(',');
      }
    }
  })
</script>

使用本站HTML/CSS/JS在線運行測試工具:http://tools.jb51.net/code/HtmlJsRun,可得到如下測試運行效果:

vue.js計算屬性computed用法實例分析

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

向AI問一下細節

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

AI

信阳市| 莱西市| 扶绥县| 彭州市| 卓尼县| 内江市| 咸宁市| 襄城县| 松桃| 江川县| 资溪县| 海安县| 亚东县| 确山县| 盖州市| 保山市| 清河县| 武宣县| 清水县| 鄂托克前旗| 武定县| 腾冲县| 西盟| 巴林右旗| 德阳市| 大英县| 贞丰县| 大足县| 罗田县| 汶上县| 新邵县| 莆田市| 珲春市| 讷河市| 白银市| 浦县| 龙游县| 岳普湖县| 泽普县| 德安县| 浑源县|