Vue学习笔记_Day02

news2024/11/28 2:47:33

文章目录

  • 1,指令修饰符
  • 2,样式控制
  • 3,v-model进阶
  • 4,计算属性
  • 5,监视器
  • 6,生命周期

1,指令修饰符

跟在指令后面,具有特殊的功能。

事件修饰符:
.enter:只有enter键能触发事件。
.stop:阻止事件冒泡。
.prevent:阻止默认行为。

v-model修饰符:
.trim:自动去除首尾的空格。
.number:自动转换成数字。

比如说:

阻止a标签的默认跳转行为。

<a href="" @click.prevent="">链接</a>

按回车键清空。

<input type="text" v-model="msg" @keyup.enter="msg=''" />

data: {
    msg: ""
}

2,样式控制

class写成对象。键为类名,值为真假。
为真则具有该类名,为假则没有。

<div :class="{abc:msg}">你好,世界!</div>

data: {
    msg: true
}

style写成对象。属性名小驼峰。

<div :style="{color:msg}">你好,世界!</div>

data: {
    msg: 'red'
}

3,v-model进阶

复选框,值为真假。

<input type="checkbox" v-model="msg">

data: {
    msg: true
}

单选框,
name将多个单选框分为一组。
value作为当前单选框的值。

值为value中的一个。

<input type="radio" name="gender" value='1' v-model=msg />
<input type="radio" name="gender" value='2' v-model=msg />

data: {
    msg: '1'
}

下拉框,
值为value中的一个。

<select v-model="msg">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

data: {
    msg: '1'
}

4,计算属性

由data计算出来的属性,称为计算属性。

在computed里面声明。
写成函数,返回值就是计算属性的值。

比如说:两数之和。

<input type="text" v-model.number="a"><br />
<input type="text" v-model.number="b"><br />
{{a}}<br />
{{b}}<br />
{{abc}}

const vm = new Vue({
    el: "#app",
    data: {
        a: 0,
        b: 0
    },
    computed: {
        abc() {
            return this.a + this.b
        }
    }
})

还有一种写法。能够读取和修改计算属性。

<input type="text" v-model.number="a"><br />
<input type="text" v-model.number="b"><br />
{{a}}<br />
{{b}}<br />
{{abc}}
<button @click="abc=''">清空</button>

const vm = new Vue({
    el: "#app",
    data: {
        a: 0,
        b: 0
    },
    computed: {
        abc: {
            get() {
                return this.a + this.b
            }, 
            set(v) {
                this.a = 0
                this.b = 0
            }
        }
    }
})

5,监视器

用于当数据变化时,执行某些操作。

{{a}}
<button @click="a++">+</button>

const vm = new Vue({
    el: "#app",
    data: {
        a: 0
    },
    watch: {
        a(newV, oldV) {
            console.log(newV, oldV);
        }
    }
})

如果要监视对象的属性,加引号即可。

{{a.b}}
<button @click="a.b++">+</button>

const vm = new Vue({
    el: "#app",
    data: {
        a: {
            b: 0
        }
    },
    watch: {
        'a.b'(newV, oldV) {
            console.log(newV, oldV);
        }
    }
})

如果要监视对象的所有属性,加配置项。

{{a.b}}
<button @click="a.b++">+</button>
{{a.c}}
<button @click="a.c++">+</button>

const vm = new Vue({
    el: "#app",
    data: {
        a: {
            b: 0,
            c: 0
        }
    },
    watch: {
        a: {
            deep: true,
            handler(newV, oldV) {
                console.log(newV.b, newV.c);
            }
        }
    }
})

一进入页面,可以选择立即执行一次。

watch: {
    a: {
        deep: true,
        immediate: true,
        handler(newV, oldV) {
            console.log(newV.b, newV.c);
        }
    }
}

6,生命周期

四个阶段:创建,挂载,更新,销毁。
八个函数。
在这里插入图片描述

{{a}}
<button @click="a++">+</button>

const vm = new Vue({
    el: "#app",
    data: {
        a: 0
    },
    beforeCreate() {
        console.log(1);
    },
    created() {
        console.log(2);
    },
    beforeMount() {
        console.log(3);
    },
    mounted() {
        console.log(4);
    },
    beforeUpdate() {
        console.log(5);
    },
    updated() {
        console.log(6);
    },
    beforeDestroy() {
        console.log(7);
    },
    destroyed() {
        console.log(8);
    }
})

手动卸载实例的方法:控制台输入代码。

vm.$destroy()

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

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

相关文章

2024-6-9 石群电路-27

2024-6-9&#xff0c;星期日&#xff0c;12:49&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴。Hello&#xff0c;大家&#xff0c;我回来啦&#xff0c;昨天断更了一天&#xff0c;是为什么捏&#xff0c;是因为&#xff0c;我通过毕业答辩啦&#xff01;&…

Golang | Leetcode Golang题解之第133题克隆图

题目&#xff1a; 题解&#xff1a; func cloneGraph(node *Node) *Node {if node nil {return node}visited : map[*Node]*Node{}// 将题目给定的节点添加到队列queue : []*Node{node}// 克隆第一个节点并存储到哈希表中visited[node] &Node{node.Val, []*Node{}}// 广…

SpringBoot+Vue影城管理系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 用户管理员 功能截图

2024050702-重学 Java 设计模式《实战状态模式》

重学 Java 设计模式&#xff1a;实战状态模式「模拟系统营销活动&#xff0c;状态流程审核发布上线场景」 一、前言 写好代码三个关键点 如果把写代码想象成家里的软装&#xff0c;你肯定会想到家里需要有一个非常不错格局最好是南北通透的&#xff0c;买回来的家具最好是品…

如何在手机上恢复误删除的视频?

说到移动设备上的视频恢复&#xff0c;我们仍将揭开4种解决方案供您使用。希望它们对您的案件有所帮助。 众所周知&#xff0c;我们移动设备上的视频应用程序将创建一个缓存文件夹&#xff0c;以在它们永远消失之前临时存储已删除的项目。因此&#xff0c;有许多iPhone / Andr…

Thermal-BST自动化工具在Flotherm建模中的应用与优势

引言 随着科技的不断发展&#xff0c;电子领域的需求也越来越广泛和多样化。然而&#xff0c;PCB板及其上的器件建模问题一直是电子工程师在设计过程中面临的重要挑战之一。软件中原有的PCB建模工具&#xff0c;转换出来的模型复杂&#xff0c;影响后期的网格划分&#xff0c;…

SpringBoot+Vue学生宿舍管理系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 学生宿管员管理员 功能截图

你好GPT-4o——对GPT-4o发布的思考与看法

你好GPT-4o 前言 2024年5月13日&#xff0c;OpenAI官网发布了他们的新一代自然语言处理交互系统——GPT-4o。这是OpenAI继GPT4之后又一个新的旗舰模型。 GPT-4o&#xff08;“o”代表“omni”&#xff09;是迈向更自然的人机交互的一步——它接受文本、音频、图像和视频的任意…

linuxDNS域名解析

文章目录 DNS 是域名系统的简称正向解析反向解析主从服务器解析bond网卡 DNS 是域名系统的简称 域名和IP地址之间的映射关系 互联网中&#xff0c;IP地址是通信的唯一标识&#xff0c;逻辑地址 访问网站 域名解析的目的就是为了实现&#xff0c;访问域名就等于访问IP地址 …

Linux---进程/磁盘管理

文章目录 目录 文章目录 一.Linux中进程的概念 二.显示系统执行的进程 2.1: ps 命令 2.2 top 命令 三.终止进程 四.磁盘分区 一.Linux中进程的概念 在Linux中&#xff0c;进程是指操作系统中正在执行的程序的实例。每个进程都由操作系统分配了独立的内存空间&#xff0c;用于…

安装node

下载地址 Node.js — Run JavaScript Everywhere 按照下面的图操作即可 然后就下载完了。

Audio PsyChat:web端语音心理咨询系统

Github&#xff1a;GitHub - EthanLifeGreat/AudioPsyChat: 这是一个在服务器本地运行的web语音心理咨询系统&#xff0c;咨询系统内核使用[PsyChat]&#xff0c;我们为其制作了Web前端&#xff0c;并拼接了ASR和TTS组件&#xff0c;使局域网内用户可以通过单纯的语音进行交互。…

Vue09-事件处理

一、一个简单的示例 v-on&#xff1a;当xxx的时候。 二、事件处理 2-1、参数说明 <div id"root"><h1>你好呀&#xff0c;{{name}}</h1><button v-on:click"showinfo">点击我</button></div><script>new Vue({e…

专业的数据分析软件

一、简介 1、由OriginLab公司开发的专业数据分析和科学绘图软件,广泛应用于科研、教育和工业领域。它不仅能够处理和分析各种类型的数据,还能创建高质量的图表和图形,帮助用户更好地理解和展示数据。OriginPro提供了丰富的统计分析工具、数据处理功能、多种绘图类型和自定义…

手把手AI实战(一)治愈系动画视频

手把手AI实战(一)治愈系动画视频 一、成果展示 二、步骤拆解 2.1 AI出图 可以使用你顺手的AI绘图工具&#xff0c;国外的像Midjouney、Stable Diffusion&#xff0c;国内的像扣子、智普清言等等。我这里用了剪映的&#xff0c;地址是&#xff1a;https://jimeng.jianying.com/a…

Centos7系统禁用Nouveau内核驱动程序【笔记】

在CentOS系统中,Nouveau是开源的NVIDIA显卡驱动程序,但它与NVIDIA的官方驱动程序NVIDIA Proprietary Driver存在兼容性问题。 如果你想要禁用Nouveau并使用NVIDIA官方驱动,可以按照以下步骤操作: 1、创建一个黑名单文件以禁用Nouveau驱动。 echo blacklist nouveau | su…

上海安全员C证继续教育题库(附答案)

1.从业人员经过安全教育培训&#xff0c;了解岗位操作规程&#xff0c;但未遵守而造成事故的&#xff0c;行为人应负( )责任&#xff0c;有关负责人应负( )责任。 A.直接 间接 B.直接 领导 C.间接 管理D.直接 管理 2.对生产附着式升降脚手架产品的单位&#xff0c;必须…

无限可能LangChain——构建代理

单独来看&#xff0c;语言模型无法采取行动 - 它们只能输出文本。LangChain的一个重要用例是创建代理。代理是使用LLM作为推理引擎的系统&#xff0c;用于确定要采取的行动以及这些行动的输入应该是什么。然后&#xff0c;这些行动的结果可以反馈给代理&#xff0c;并确定是否需…

探索智慧农业系统架构的设计与应用

随着科技的不断进步和农业现代化的推进&#xff0c;智慧农业正逐渐成为农业发展的重要趋势。智慧农业系统架构的设计与应用&#xff0c;将农业生产与信息技术相结合&#xff0c;为农业生产提供了新的思路和解决方案。本文将深入探讨智慧农业系统架构的设计与应用&#xff0c;从…

【C语言】动态内存经典笔试题(下卷)

前言 如果说动态内存是C语言给我们的一个工具&#xff0c;那么只有掌握了工具的特点我们才能更好地使用。 紧随上卷&#xff0c;我们再来看看动态内存另外两道经典的笔试题。 &#xff08;建议没看过上卷的朋友可以先看完上卷再回来&#xff1a;【C语言】动态内存经典笔试题…