• 二、vue基础--计算属性和监听器


    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:{
            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>
  • 相关阅读:
    win8装oracle 10g 弹出:环境变量path的值超过1023字符,无法设置改值
    Modern UI for WPF 开源项目(3):用模板创建我的第一个Modern UI app
    安装oracle11G,10G时都会出现:注册ocx时出现OLE初始化错误或ocx装载错误对话框
    win8快捷键
    Win7/Win8 系统下安装Oracle 10g 提示“程序异常终止,发生未知错误”的解决方法
    Delphi FireDAC 连接SQL Server一些要注意的地方
    Delphi XE5 for Android (四)
    Delphi D10.X VCL和FireMonkey之间的常见差异介绍
    delphi给App授予权限
    github无法登陆的解决办法
  • 原文地址:https://www.cnblogs.com/Mr-Simple001/p/12077572.html
Copyright © 2020-2023  润新知