《Vue3实战》 第五章 计算、监听属性

news/2024/12/22 16:53:05/

《Vue3实战》篇章整体栏目
—————————————————————————————
【第一章】node.js/npm安装、配置
【第二章】创建项目和目录结构
【第三章】基础语法
【第四章】条件语句、循环语句
【第五章】计算、监听属性
【第六章】样式绑定和事件处理
【第七章】表单
【第八章】自定义指令
【第九章】路由
【第十章】Element plus指南
【第十一章】Vue3实战之打造新闻系统前端模板
—————————————————————————————

目录

  • 前言
  • 1、计算属性
    • 1.1、计算属性关键词: computed
    • 1.2、computed setter
  • 2、监听属性
    • 2.1、例子1 计数器
    • 2.2、例子2 千米与米的换算

—————————————————————————————

前言

Vue3计算、监听属性

1、计算属性

1.1、计算属性关键词: computed

<template>   <h1>{{n}}5倍是{{multipleN}}</h1>
</template><script>
export default{name: 'SentenseTest',    data(){return{n : 6}},computed:{multipleN : function(){return this.n * 5;}}
}
</script>

1.2、computed setter

<template>   <h1>{{firstName}} {{lastName}}</h1>
</template><script>export default{name: 'SentenseTest',    data(){return{firstName: "tom",lastName: "jerry"}},computed:{fname:{get:function(){return this.firstName + " " + this.lastName;},set:function(newValue){var names = newValue.split(" ");this.firstName = names[0];this.lastName = names[1];}}},mounted(){this.fname = "Jack kara"}
}

2、监听属性

Vue3 监听属性 watch,我们可以通过 watch 来响应数据的变化。

2.1、例子1 计数器

<template>   <h1><p>{{counter}}</p><button @click="counter++">累加</button>     </h1>
</template>
<script>
export default{name: 'SentenseTest',    data(){return{counter: 1}},mounted(){this.$watch('counter', function(nval, oval) {alert('计数器值的变化 :' + oval + ' 变为 ' + nval + '!');});}    
}
</script>

2.2、例子2 千米与米的换算

<template>   <h1><p>千米:<input type="text" v-model="kilometers" @focus="currentActiveField='kilometers'"/></p><p>千米:<input type="text" v-model="meters" @focus="currentActiveField='meters'"/></p>  <p id = "info"></p></h1>
</template>
<script>
export default{name: 'SentenseTest',    data(){return{meters : 0,kilometers : 0}},watch:{kilometers : function(nVal){if(this.currentActiveField === 'kilometers'){this.kilometers = nVal;this.meters = this.kilometers * 1000;}},meters:function(nVal){if(this.currentActiveField === 'meters'){this.meters = nVal;this.kilometers = nVal / 1000;}}},mounted(){this.$watch('kilometers', function(nVal, oVal) {document.getElementById("info").innerHTML = "修改前的值:" + nVal +",修改后的值:" + oVal;});}    
}
</script>

http://www.ppmy.cn/news/48027.html

相关文章

Ae:摄像机设置

Ae菜单&#xff1a;图层/摄像机设置 Camera Settings 快捷键&#xff1a;Ctrl Shift Y 新建摄像机图层时&#xff0c;首先会弹出摄像机设置 Camera Settings对话框。 经典 3D 渲染器时的摄像机设置 Cinema 4D 渲染器时的摄像机设置 类型 Type 有两种类型的摄像机供选择。 提…

【计算机视觉 | 图像分割】Segment Anything论文讲解

文章目录 一、前言二、论文出发点三、创新思路四、方法4.1 Segment Anything Task4.2 Segment Anything Model4.3 Segment Anything Data Engine4.4 Segment Anything Dataset 五、结果 一、前言 论文&#xff1a;https://arxiv.org/pdf/2304.02643.pdf 项目&#xff1a;https…

数据库基础篇 《2. MySQL环境搭建》

目录 1. MySQL的卸载 步骤1&#xff1a;停止MySQL服务 步骤2&#xff1a;软件的卸载 步骤3&#xff1a;残余文件的清理 ​编辑2. MySQL的下载、安装、配置 2.1 MySQL的4大版本 2.2 软件的下载 2.3 MySQL8.0 版本的安装 2.4 配置MySQL8.0 2.5 配置MySQL8.0 环境变量 …

Python办公自动化之PostgreSQL篇2——利用Python连接PostgreSQL并读取一张表

在上一篇我们已经安装好了最新的PostgreSQL&#xff0c;以及最方便的可视化工具&#xff0c;Navicat 如果错过的小伙伴&#xff0c;可以去上一篇查看&#xff1a;点我查看 今天我们来用Python连接一下PostgreSQL&#xff0c;然后准备一张测试表&#xff0c;导入PostgreSQL&am…

数据爬虫爬数据时常遇到的问题

第一&#xff0c;可能不能直接通过pyppeteer简单的直接page.querySelectorAll()获取所有元素然后直接 str(await (await element_songer_name.getProperty("title")).jsonValue()) 得到数据值&#xff0c;主要原因可能是#document问题&#xff0c; 所以遇到这个问题…

4.13~4.17(PE文件结构预习+hook+进程hellow)

常见PE文件结构 常见的PE文件&#xff1a;exe、dll、sys Ag&#xff1a; exe就不用多说&#xff0c;就是可执行文件 dll动态链接库 对于 Windows 操作系统&#xff0c;操作系统的大部分功能都由 DLL 提供 &#xff08;https://learn.microsoft.com/zh-cn/troubleshoot/window…

第一讲 初识Python

Python简介 Python&#xff08;英式发音&#xff1a;/ˈpaɪθən/&#xff1b;美式发音&#xff1a;/ˈpaɪθɑːn/&#xff09;是由荷兰人吉多范罗苏姆&#xff08;Guido von Rossum&#xff09;发明的一种编程语言&#xff0c;是目前世界上最受欢迎和拥有最多用户群体的编…

第二十二章 案例TodoList之鼠标事件

本小节&#xff0c;我们需要使用鼠标事件&#xff0c;给Item组件添加背景颜色&#xff0c;并显示删除按钮。 添加鼠标移入和移出事件 import React, { Component } from react import "./index.css" export default class Item extends Component {// 初始化状态数…