zoukankan      html  css  js  c++  java
  • 浅谈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>
  • 相关阅读:
    NOI2005 维护数列(splay)
    傻子代码行列式
    Matrix-tree定理 spoj HIGH
    Boruvka算法求最小生成树
    Codeforces 521 E cycling city
    欧拉回路 uoj117
    BZOJ1146: [CTSC2008]网络管理Network
    我的OI生涯番外篇
    主席树+dfs SPOJ BZOJ2588 Count on a tree
    动态主席树 优化版
  • 原文地址:https://www.cnblogs.com/skydragonli/p/11592468.html
Copyright © 2011-2022 走看看