1.一些操作需要计算后才能得到的用计算属性,需要放在computed属性中代码如下:

<div id='app'>
  <div>
    <label>宽:</label>
    <input type="text" v-model:value="width">
  </div>
  <div>
    <label>高:</label>
    <input type="text" v-model:value="heigth">
  </div>
  <div>面积:{{area}}</div>
</div>
  <script>
    new Vue({
      el:'#app',
      data:{
        width:0,
        heigth:0
      },
      computed:{
        area(){
        return this.heigth * this.width
      }
    }
  })
</script>

2.计算属性的set:有set必须要写get,一下是省市区填写解析出来,或者是分别填写省市区拼接到汇总省市区代码如下:

<div id='app'>
  <div>
    <label>省:</label>
    <input type="text" v-model:value="province">
  </div>
  <div>
    <label>市:</label>
    <input type="text" v-model:value="city">
  </div>
  <div>
    <label>区:</label>
    <input type="text" v-model:value="district">
  </div>
  <div>
    <label>地址:</label>
    <input type="text" v-model="address">
  </div>
</div>
<script>
  new Vue({
    el:'#app',
    data:{
      province:"",
      city:"",
      district:""
    },
    computed:{
    address:{
      get(){
      let result=""
      if(this.province){
        result += this.province+"省"
    }
      if(this.city){
        result += this.city+"市"
    }
      if(this.district){
        result += this.district+"区"
    }
      return result
    },
    set(value){
      let result = value.split(/省|市|区/)
      if(result && result.length>0){
        this.province = result[0]
    }
      if(result && result.length>1){
        this.city = result[1]
    }
      if(result && result.length>2){
        this.district = result[2]
    }
  }
  }
  }
  })
</script>

3.监听属性:监听属性需要放到watch中,代码如下:

<div id='app'>
  <div>
    <input type="text" v-model:value="keyword">
  </div>
  <div>
    <span>推荐的关键字是:</span>
    {{result}}
  </div>
</div>
<script>
  new Vue({
    el:'#app',
    data:{
      keyword:"",
      result:""
    },
    watch:{
      keyword(newvalue,oldvalue){
        this.result="正在加载中。。。"
        setTimeout(() => {
          this.result="推荐的结果是:"+newvalue
          },1000)
      }
    }
  })
</script>

二、vue基础--计算属性和监听器的更多相关文章

  1. vue基础---计算属性和侦听器

    [一]计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example"> ...

  2. vue基础——计算属性和侦听器

    计算属性——介绍 模板内的表达式非常便利,但是设计他们的初衷是用于简单计算的.在模板中放入太多的逻辑会让模板太过沉重切难以维护.如下: <div id="example"&g ...

  3. Vue.js-05:第五章 - 计算属性与监听器

    一.前言 在 Vue 中,我们可以很方便的将数据使用插值表达式( Mustache 语法)的方式渲染到页面元素中,但是插值表达式的设计初衷是用于简单运算,即我们不应该对差值做过多的操作.当我们需要对差 ...

  4. vue的计算属性computed和监听器watch

    <template> <div> this is A.vue <br> <!--计算属性--> <label for="msg" ...

  5. Vue.js 计算属性是什么

    Vue.js 计算属性是什么 一.总结 一句话总结: 模板 表达式 维护 在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护 ...

  6. vue的计算属性

    在模板中写入过多的逻辑使模板过重且难以维护.因此有了计算属性(computed)的产生. 你可以像绑定普通属性一样在模板中绑定计算属性,vue知道计算属性中的函数依赖data中的数据.所以当data中 ...

  7. Vue.js 计算属性(computed)

    Vue.js 计算属性(computed) 如果在模板中使用一些复杂的表达式,会让模板显得过于繁重,且后期难以维护.对此,vue.js 提供了计算属性(computed),你可以把这些复杂的表达式写到 ...

  8. 一起学Vue之计算属性和侦听器

    概述 在Vue开发中,模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.当你想要在模板中多次引用相同表达式时,就会更加难以处理.所以,对于任何复 ...

  9. vue中计算属性的get与set方法

    计算属性get set方法 在vue的计算属性中,所定义的都是属性,可以直接调用 正常情况下,计算属性中的每一个属性对应的都是一个对象,对象中包括了set方法与get方法 computed:{ ful ...

随机推荐

  1. 学习笔记:oracle学习一:oracle11g体系结构之服务器结构、数据字典

    目录 1.服务器架构 1.1 系统全局区SGA 1.1.1 高速数据缓冲区(database buffer cache) 1.1.2 重做日志缓冲区(redo log buffer cache) 1. ...

  2. springboot集成elk 四:springboot + Elasticsearch+Jest

    依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri ...

  3. c++语法笔记(下)

    多态性与虚函数 多态性(函数重载,运算符重载就是多态性现象)多态性 :向不同对象发送同一个消息,不同对象在接收时会产生不同的行为.(每个对象用自己的方式去响应共同的消息)多态性又可以分为静态多态性和动 ...

  4. 20191011-构建我们公司自己的自动化接口测试框架-testrun最重要的模块

    testrun模块呢就是最终自动化测试入口,调用前面封装的各个模块主要流程是: 1. 获取测试集种待执行的测试用例 2. 处理测试用例获取的数据,包括转换数据格式,处理数据的中的关联等 3. 处理完数 ...

  5. Scratch运动模块——有趣的弹球游戏(一)

    大家好!我是蓝老师,有了前几期Scratch的基础,相信大家早已摩拳擦掌,跃跃欲试了,甚至还有些小伙伴已经编写了非常不错的程序. 学习编程就是这样不断探索.主动思考.解决问题的过程. 本期内容: 课程 ...

  6. 13_日期时间、Math、枚举

    日期时间.Math.枚举 日期时间 计算机如何表示时间? GMT时间指格林尼治所在地的标准时间,也称为时间协调时(UTC),其他地区的时间都是相对于GMT时间的偏移.   北京位于东八区 = UTC ...

  7. gmpy安装使用方法

    gmpy是一种C编码的Python扩展模块,提供对GMP(或MPIR)多精度算术库的访问.gmpy 1.17是1.x系列的最终版本,没有进一步的更新计划.所有进一步的开发都在2.x系列(也称为gmpy ...

  8. BOM与DOM的区别与联系

    一.BOM与DOM的区别 1.BOM(Browser Object Model) BOM 即浏览器对象模型,BOM没有相关标准,BOM的最核心对象是window对象.window对象既为javascr ...

  9. [javascript]原生js实现Ajax

    一.首先看JQuery提供的Ajax方法: $.ajax({ url: , type: '', dataType: '', data: { }, success: function(){ }, err ...

  10. 【转载】使用appium遇到的坑

    问题 1. error: Failed to start an Appium session, err was: Error: Requested a new session but one was ...