• 浅谈vue中的计算属性和侦听属性


    计算属性

    计算属性用于处理复杂的业务逻辑

    计算属性具有依赖性,计算属性依赖 data中的初始值,只有当初始值改变的时候,计算属性才会再次计算

    计算属性一般书写为一个函数,返回了一个值,这个值具有依赖性,只有依赖的那个值发生改变,他才会重新计算

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>表单输入绑定</title>
    </head>
    <body>
      <div id="app">
    
        {{ reverseMsg }}---- {{ reverseMsg }}-------- {{ reverseMsg }} //直接使用计算属性中的函数就是所要的数据
    
      </div>
    </body>
    <script src="vue.js"></script> //vue的js,不然使用不了vue语法
    <script>
      const app = new Vue({
        el: '#app',
        data: {
          msg: 'hello world'
        },
        computed: {
          reverseMsg () { // 计算属性是一个函数,返回一个值,使用和data中的选项一样
            console.log('computed') // 执行1次 --- 依赖性
            return this.msg.split('').reverse().join('');
          }
        }
      })
    </script>
    </html>

    侦听属性(监听属性)

    vue提供了检测数据变化的一个属性 watch 可以通过  newVal 获取变化之后的值

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>表单输入绑定</title>
    </head>
    <body>
      <div id="app">
       <input type="text" v-model="firstname"> + <input type="text" v-model="lastname"> = {{ fullname }}
    
      </div>
    </body>
    <script src="vue.js"></script>
    <script>
      const app = new Vue({
        el: '#app',
        data: {
          firstname: '',
          lastname: '小龙',
          fullname: '李小龙'
        },
        watch: { // 侦听属性
          firstname (newVal, oldVal) { // newVal变化之后的值
            this.fullname = newVal + this.lastname // 当改变 姓 的时候执行
          },
          lastname (newVal, oldVal) {
            this.fullname = this.firstname + newVal // 当改变 名字 的时候执行
          }
        }
      })
    </script>
    </html>
  • 相关阅读:
    4、java变量、函数、基本类型的值传递、分支、循环、流程控制
    mysql-数据库维护
    mysql-安全管理
    mysql-管理事务
    mysql-触发器
    mysql-游标
    mysql-过程与函数
    ViewPager 带动画的欢迎界面
    Pull to RefreshListView 添加HeaderView
    解决 listView gridView 与ScrollView嵌套时的冲突
  • 原文地址:https://www.cnblogs.com/skydragonli/p/11592468.html
Copyright © 2020-2023  润新知