Vue学习笔记14--计算属性

欢迎莅临 SUN WU GANG 的园子!!! / 2024-02-23 / 原文

计算属性: 

 

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>计算属性--实现信息拼接</title>
  <script type="text/javascript" src="../Js/vue.js"></script>
</head>


<body>
  <div id="root">
    <!-- 双向数据绑定:v-model写法 -->
    <input type="text" v-model:value="nickname">
    <input type="text" v-model="nickname"><br />
    <hr>
    插值语法方式:<br />
    姓名:{{name}}--昵称{{nickname}}
    <hr>
    <!-- 方法调用 -->
    method()方式:<br />
    <span>
      全名: {{fullName()}}
    </span>

    <hr>
    计算属性:存在缓存机制哦<br />
    {{myfullname}}
    {{myfullname}}
    {{myfullname}}
  </div>
</body>

</html>
<script type="text/javascript">
  //console.log(vm)
  const vm = new Vue({
    el: '#root',
    data: {
      name: '张三',
      nickname: '张大师'
    },

    // 计算属性
    computed: {
      myfullname: {
        //--------get 调用时机--------
        // 1.初次读取时被调用
        // 2.所依赖的数据发生变化时调用
        get () {
          return this.name + '|' + this.nickname
        },
        set (value)//当被修改时会被调用
        {
          const arr = value.split('|')
          this.name = arr[0]
          this.nickname = arr[1]
        }
      }
    },

    methods: {
      fullName () {
        return this.name + '|' + this.nickname
      },

      showParamsInfo (event, str) {
      },
    },
  })
</script>