vue系列=计算属性

1、计算属性

1、计算属性。当模板显示的某个数据需要通过已有数据进行一定的逻辑计算才能确定时,就可以选择用计算属性语法来实现。先来看利用计算属性语法重构后的代码,具体如下。

2、代码中多出一个配置对象computed。实际上这就是Vue中计算属性定义的位置,整个代理对象需要的计算属性都需要定义在computed配置对象中

<template><h1>计算属性和侦听器</h1><p>{{ message }}</p>
<!--  计算属性--><p>{{ reversedMessage }}</p><p>{{ returnAge }}</p><button @click="changeMessage">Change Message</button></template>
<script>export default {data() {return {message: 'Hello Vue 3.0',age: 25,}},computed: {reversedMessage() {return this.message.split('').reverse().join('')},returnAge() {return this.age>=18? 'adult' : 'teenager'}},}</script>

2、计算属性和method方法结合

1、计算属性认为就是一些逻辑性的处理问题上,只是让相关的内容不显示在模板上

2、计算属性的效果,也可以采用方法来进行,方法也是有着同样的效果。

3、 计算属性的setter

1、计算属性的setter可以让计算属性进行修改,原本只有只读的属性。

4、监听内容

4、1监听的基本用法

1、有的时候,在依赖数据发生变化时,我们需要让其产生一些“副作用”​。例如,直接更新DOM,或者执行异步操作后,更新其他数据。此时我们可以使用Vue的监听语法来实现

2、监听相关的内容就是属性值,

3、可以通过watch选项配置一个函数来监听某个响应式属性的变化

<template><h1>计算属性和侦听器</h1><p>{{ message }}</p>
<!--  计算属性--><p>{{ reversedMessage }}</p><p>{{ returnAge }}</p><button @click="changeMessage">Change Message</button>
<!--  监听--><p></p><input type="number" v-model="age"><p>{{ returnAge }}</p><p>{{ returnAgeText }}</p></template>
<script>export default {data() {return {// watch监听的是这边的属性值,当值发生变化时,会触发回调函数message: 'Hello Vue 3.0',age: 25,returnAgeText: '18以下'}},computed: {reversedMessage() {return this.message.split('').reverse().join('')},returnAge() {return this.age>=18? 'adult' : 'teenager'}},watch: {// 进行监听age属性的变化age(newVal, oldVal) {console.log('age changed', newVal, oldVal)this.returnAgeText = "当前age:"+newVal + "===="+ oldVal}},}

5、动态样式的绑定

1、class样式的绑定

1、在模板中,给标签绑定动态样式的方式有两种,分别是class绑定和style绑定

2、class绑定主要有三类,表达式的值支持字符串、对象和数组3种类型

3、

1、class动态绑定
2、字符串绑定,  样式的类名不确定,需要动态绑定
3、对象啊绑定,样式的个数确定,类名确定,但是需要动态决定是否需要绑定
4、数组绑定,样式的个数不确定,需要动态绑定-->
<template><h1>class动态绑定</h1>
<!--  字符串绑定--><div :class="classStr">  字符串绑定</div><!--  对象绑定--><div :class="classObj">对象绑定</div><!--  数组绑定--><div :class="classArr" @click="changeClass">数组绑定</div></template>
<script>export default {data() {return {// watch监听的是这边的属性值,当值发生变化时,会触发回调函数classStr: 'active',    //字符串绑定classObj: {          //对象绑定active: false,           //active: false表示没有active类名'text-danger': true    //因为带有空格,所以需要用引号包裹},classArr: ['active', 'text-danger']  //数组绑定}},methods: {changeClass() {this.classArr.pop()   //去掉最后一个元素}}}
</script><style>.active {color: red;font-size: 20px;
}
.text-danger {color: blue;
}
</style>

2、style样式的绑定

1、style绑定同样是通过“v-bind:style="表达式"”来绑定动态style样式的,当然我们一般会使用“​:style="表达式"”的简写方式。表达式的值支持字符串、对象和数组3种类型,但是在实际开发中,开发者一般使用对象类型的写法

2、一般采用对象的方式进行

3、style样式的绑定基本都是差不多,一般采用对象的形式进行,这样就可以比较好修改相关内容

<template><h1>class动态绑定</h1>
<!--  字符串绑定--><div :class="classStr">  字符串绑定</div><!--  对象绑定--><div :class="classObj">对象绑定</div><!--  数组绑定--><div :class="classArr" @click="changeClass">数组绑定</div><div><h1>style绑定</h1><div :style="styleObj">对象绑定</div><div @click="changeStyleObj">修改对象绑定</div></div></template>
<script>export default {data() {return {// watch监听的是这边的属性值,当值发生变化时,会触发回调函数classStr: 'active',    //字符串绑定classObj: {          //对象绑定active: false,           //active: false表示没有active类名'text-danger': true    //因为带有空格,所以需要用引号包裹},classArr: ['active', 'text-danger'],  //数组绑定styleObj: {color: 'blue',fontSize: '16px',backgroundColor: 'yellow'}}},methods: {changeClass() {this.classArr.pop()   //去掉最后一个元素},changeStyleObj() {    //修改style对象绑定this.styleObj.color = 'green'this.styleObj.fontSize = '30px'}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/58782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在米尔电子MPSOC实现12G SDI视频采集H.265压缩SGMII万兆以太网推流

1. 引言 随着网络视频平台的发展&#xff0c;用户对于4K高清画质的需求日益增长。然而&#xff0c;许多用户发现&#xff0c;即使购买了视频平台的会员&#xff0c;观看4K内容时画质却不如预期&#xff0c;有时甚至还会出现模糊、卡顿的情况。这种现象背后涉及到视频编码、网络…

数据结构与算法实验练习(三)(排序及线性表的应用)

数据结构与算法分析课下实验练习&#xff0c;现记录一下解答过程&#xff0c;欢迎大家批评指正。 声明&#xff1a;本题目来源于西安交通大学电信学院原盛老师&#xff0c;任何单位或个人在使用、转载或引用本题目时&#xff0c;请务必标明出处为“西安交通大学电信学院原盛老…

使用java从提前pdf中的文字

引入依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.28</version></dependency>样例代码 public static String pdf2text(InputStream inputStream) {String text &quo…

日志代码编写

&#x1f30e;日志代码编写 文章目录&#xff1a; 日志代码编写 了解日志 日志编写       日志等级       获取时间信息       获取文件名行号及处理可变参数列表       以宏的形式传参       日志加锁       日志消息输出方式 完整代码 …

HCIA笔记整合

第一部分&#xff1a; OSI七层模型 应用层&#xff1a;人机交互 抽象语言--------编码 表示层&#xff1a;编码------二进制 会话层&#xff1a;提供会话号 传输层&#xff1a;TCP/UDP 分段&#xff08;收到MTU值的限制&#xff09; MTU&#xff1a;最大传输单元&#xff…

Kafka集群数据迁移方案

概述 MirrorMaker2&#xff08;后文简称 MM2&#xff09;在 2019 年 12 月随 Kafka 2.4.0 一起推出。顾名思义&#xff0c;是为了解决 Kafka 集群之间数据复制和数据同步的问题而诞生的 Kafka 官方的数据复制工具。在实际生产中&#xff0c;经常被用来实现 Kafka 数据的备份&a…

Prometheus监控平台部署与应用

Prometheus特点 多维数据模型 PromSQL&#xff1a;一种灵活的查询语言&#xff0c;可以利用多维数据完成复杂的查询 不依赖分布式存储&#xff0c;单个服务器节点可直接工作 基于HTTP的pull方式采集时间序列数据 推送时间序列数据通过PushGateway组件支持 通过服务发现或静态配…

vue3 栅栏式拖拽布局组件

先看效果&#xff1a; 使用方法&#xff1a; 1、npm install fencelayout 2、引入使用 <template><Fencelayout><!-- 需要写的模块直接嵌套在这个下面就可以 --><div class"aaaa"><a-button>模块1</a-button></div><…

探索设计模式:命令模式

探索设计模式&#xff1a;命令模式 &#x1f9d0;1. 概念&#x1f3af;2. 作用&#x1f4e6;3. 实现3.1 定义命令接口3.2 实现具体命令3.3 实现接收者3.4 实现调用者3.5 使用 &#x1f4bb;4. 应用场景 命令模式&#xff08;Command Pattern&#xff09;就是一种行为型设计模式…

茅台最新任务脚本

茅台最新任务脚本 –小白教程— 这个脚本的作用是实现i茅台应用的自动预约功能&#xff0c;主要功能包括生成请求头、预约商品、计算距离和库存情况、发送微信推送消息等。 代码如下#!/usr/bin/python3cron: 0 0 9/21 * * * new Env(i茅台) import logging import sysimpor…

​CSS之三

CSS三大特性 CSS 有三个非常重要的三个特性:层圣性、继承性、优先级 层叠性 相同选择器给设置相同的样式&#xff0c;此时一个样式就会覆盖(层曼)另一个冲突的样式。层曼性主要解决样式冲突的问题 层叠性原则: - 样式冲突&#xff0c;遵循的原则是就近原则&#xff0c;哪个…

JAVA_19

JAVA_19 一、多线程1.线程的定义和概念2.多线程的优势和应用场景 二、JAVA中的线程模型1. JAVA线程概述2. 创建线程3. 线程的生命周期 一、多线程 1.线程的定义和概念 线程是计算机科学中的一个重要概念&#xff0c;它是进程中的最小执行单位。线程是CPU调度的基本单位&#…

C++设计模式创建型模式———简单工厂模式、工厂方法模式、抽象工厂模式

文章目录 一、引言二、简单工厂模式三、工厂方法模式三、抽象工厂模式四、总结 一、引言 创建一个类对象的传统方式是使用关键字new &#xff0c; 因为用 new 创建的类对象是一个堆对象&#xff0c;可以实现多态。工厂模式通过把创建对象的代码包装起来&#xff0c;实现创建对…

python爬虫抓取豆瓣数据教程

环境准备 在开始之前&#xff0c;你需要确保你的Python环境已经安装了以下库&#xff1a; requests&#xff1a;用于发送HTTP请求。BeautifulSoup&#xff1a;用于解析HTML文档。 如果你还没有安装这些库&#xff0c;可以通过以下命令安装&#xff1a; pip install requests…

代码-画图函数示例

热力图 import matplotlib.pyplot as plt import seaborn as sns import numpy as npdef create_heatmap(people, categories, dataNone, title热力图, xlabel类别, ylabel人员,value_range(0.6, 0.95), figsize(10, 6),cmapYlOrRd, decimal_places3):"""创建热…

Go-Sqlite3学习

go-sqlite3 是 Go 语言中用于操作 SQLite 数据库的第三方驱动库。SQLite 是一种轻量级、嵌入式的关系型数据库&#xff0c;适用于小型应用和嵌入式开发场景&#xff0c;而 go-sqlite3 库让我们能够在 Go 项目中轻松使用 SQLite 数据库。 下面是 go-sqlite3 的基本学习与使用指…

int类型的长度为什么不统一?int类型和硬件寄存器有多统一?数据类型长度是编译器决定的?

int类型的长度为什么不统一? 以C语言为例&#xff0c;它为了支持不同硬件平台&#xff0c;在计算机早期&#xff0c;硬件资源包括内存资源非常紧张&#xff0c;C语言标准不能直接规定int类型就是16位或者32位&#xff0c;这样会造成其它平台不能运行。故&#xff0c;标准做了取…

2024最新Twitter养号全面指南,品牌起号必看!

X (Twitter)作为活跃用户数以亿计的社交媒体平台&#xff0c;用户数依然在不断增长&#xff0c;其中巨大的流量吸引着个人用户与品牌和卖家。 Twitter养号是有必要的&#xff0c;有大量案例表明养好号&#xff0c;可以大幅度降低账号被冻结的几率&#xff0c;并提升账号的稳定…

百度如何打造AI原生研发新范式?

&#x1f449;点击即可下载《百度AI原生研发新范式实践》资料 2024年10月23-25日&#xff0c;2024 NJSD技术盛典暨第十届NJSD软件开发者大会、第八届IAS互联网架构大会在南京召开。本届大会邀请了工业界和学术界的专家&#xff0c;优秀的工程师和产品经理&#xff0c;以及其它行…

基于大语言模型(LLM)自主Agent 智能体综述

近年来,LLM(Large Language Model)取得了显著成功,并显示出了达到人类智能的巨大潜力。基于这种能力,使用LLM作为中央控制器来构建自助Agent,以获得类人决策能力。 Autonomous agents 又被称为智能体、Agent。指能够通过感知周围环境、进行规划以及执行动作来完成既定任务。…