前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航

vue计算属性与数据监听(十)

首页
2018-08-28 14:10:42
Front-End
Vue

# 一、监听属性

我们在工作中常常需要监听某一个属性值的变化,这个时候我们就需要用到了监听属性watch

# 1.1 基础版监听

场景如下:输入框输入你的年龄,如果年龄在0-15岁提示信息:你还是个小孩,如果年龄在 15-25岁,提示信息:你已经是个少年,如果年龄在25岁以上,提示信息:你已经长大了

<template>
 <div id="app">
  年齡:<input type="number" v-model="age"><br>
  提示信息:<span>{{infoMsg}}</span>
 </div>
</template>

<script>
export default {
 data() {
  return {
   age: "",
   infoMsg:""
  }
 },
 watch:{
  age:function(val,oldval){
   if(val>0 && val<15){
    this.infoMsg="你还是个小孩"
   }else if(val>15 && val<25){
    this.infoMsg="你已经是个少年"
   }else{
    this.infoMsg="你已经长大了"
   }
  }
 }
}
</script>
@前端进阶之旅: 代码已经复制到剪贴板

# 1.2 进阶版监听

下面我们改变一下需求:基础规则不变,但是因为后台数据库的更改,我们需要提交一个这样的数据结构

data() {
  return {
   info: {
    age: ""
   },
   infoMsg: ""
  };
 }
@前端进阶之旅: 代码已经复制到剪贴板
  • 由于我们监听的是对象info中的属性age值的变化,所以我们需要使用到的是深度监听,具体代码如下
<template>
 <div id=
fe
  • 一、监听属性
    • 1.1 基础版监听
    • 1.2 进阶版监听
    • 1.3 高级版监听
  • 二、计算属性
    • 2.1 什么是计算属性
    • 2.2 计算属性的用法
    • 2.3 计算属性缓存

← vue路由(十一)vue组件(九) →