VUE练习

ops/2024/11/28 16:07:36/

使用new Vue()创建Vue实例,传入配置对象(el data)

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="vue.js" type="text/javascript" charset="UTF-8"></script>
</head><body><div id="root">{{ name }}</div><script type="text/javascript">const x = new Vue({el: '#root',data: {name: 999// message: 888}})</script>
</body></html>

v-bind v-model

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="vue.js" type="text/javascript" charset="UTF-8"></script>
</head><body><div id="app"><!-- v-hind 单向传输,将data中的数据传给输入框 --><input type="text" v-bind:value="name"><!-- v-hind的缩写形式<input type="text" v-bind:value="name">  --><!-- v-model 双向传输,data中的数据与输入框中的value值相互传递 --><input type="text" v-model:value="name"></div><script type="text/javascript">var app = new Vue({el: "#app",data: {name: '燕'}});</script>
</body></html>

效果:

Object.defineProperty

<!doctype html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>test</title><script src="../js/vue.js"></script>
</head><body><script type="text/javascript">number = 19;const person = {name: 'yan',school: '黑龙江大学',sex: '女'}Object.defineProperty(person, 'age', {// value: 19,// writable: false,//可重新赋值,默认false// enumerable: true//可枚举(可被遍历),默认false// configurable: true, //控制属性是否可以被删除 默认为falseget: function () {//测试它的调用情况console.log('@@@ GET AGE');//此时age的值依赖number的值return number},//当修改person的age属性时set(setter)属性就会被调用,且会收到修改的具体值set(v) {//测试console.log('CHANGE AGE');number = v;}});// person.school = 'hhhh';//可以赋值console.log(person);//遍历对象person中的可枚举的属性for (let prop in person) {console.log(prop);}//Object.keys遍历对象person中的可枚举的属性,和for in 一样的功能console.log(Object.keys(person));// delete person.age;// console.log(person);console.log(person.age);//调用了get函数person.age = 16;//调用了set函数console.log(number);//此时number为16</script>
</body></html>

 键盘事件绑定:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../js/vue.js"></script>
</head><body><!--vue中键盘事件的绑定 一般用keyup(键松开的时候执行)(keydown键按下的时候执行)--><!--1.Vue中常用的按键别名:回车 => enter删除 => delete (捕获“删除”和“退格”键)退出 => esc空格 => space换行 => tab (特殊,必须配合keydown去使用)上 => up下 => down左 => left右 => right2.Vue未提供别名的按键,可以使用按键原始的key值去绑定,但注意要转为kebab-case(短横线命名)3.系统修饰键(用法特殊):ctrl、alt、shift、meta(1).配合keyup使用:按下修饰键的同时,再按下其他键,随后释放其他键,事件才被触发。(2).配合keydown使用:正常触发事件。4.也可以使用keyCode去指定具体的按键(不推荐)5.Vue.config.keyCodes.自定义键名 = 键码,可以去定制按键别名--><div id="rooot"><h1>欢迎来到{{place}}</h1><input type="text" @keyup.enter="showI" placeholder="回车控制台提示输入"><input type="text" @keyup.delete="showI" placeholder="删除或退格控制台提示输入"><input type="text" @keyup.space="showI" placeholder="空格控制台提示输入"><!-- Tab得搭配keydown使用,否则按下时会移动聚焦事件 --><input type="text" @keydown.tab="showI" placeholder="Tab控制台提示输入"><!-- ctrl+任意键 --><input type="text" @keyup.ctrl="showI" placeholder="按下ctrl任意键提示输入" /><input type="text" @keydown.p="showI" placeholder="按下p提示输入" /></div><script>new Vue({el: '#rooot',data: {place: '哈尔滨'},methods: {//keyCode13为Enter键// <input type="text" @keyup.enter="showI" placeholder="回车控制台提示输入")>// if (a.keyCode === 13) {//     console.log(a.target.value);// }showI: function (a) {console.log(a.target.value);//返回输入框的值console.log(a.key);//返回最后按下的按键}}})</script>
</body></html>

姓名的显示:方法一:插值语法。方法二:methods定义函数后调用

实现效果:

代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../js/vue.js"></script>
</head><body><div id="rooot">姓:<input type="text" V-model:value="firstname"><br><br>名:<input type="text" V-model:value="lastname"><br><br><!-- 方法1:插值语法 --><!-- <span>全名:{{firstname.slice(0,3)}} {{lastname}}</span> --><!-- 方法2:methods方法调用之后进行插值 --><span>全名:{{fullname()}}</span></div><script>const vm = new Vue({el: '#rooot',data: {firstname: 'yanyan',lastname: 'mengying'},methods: {fullname() {return `${this.firstname.slice(0, 3)} + ${this.lastname}`}}})</script>
</body></html>

 姓名显示,方法三:计算属性(不是函数)

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../js/vue.js"></script>
</head><body><div id="rooot">姓:<input type="text" V-model:value="firstname"><br><br>名:<input type="text" V-model:value="lastname"><br><br><!-- 方法3:计算属性 --><!-- fullname后面不能加括号,否则会提示fullname不是函数(也就是说fullname不是函数) --><span>全名:{{fullname}}</span></div><script>const vm = new Vue({el: '#rooot',data: {firstname: 'yanyan',lastname: 'mengying'},computed: {fullname: function () {return this.firstname.slice(0, 3) + '-' + this.lastname;}}})</script>
</body></html>


http://www.ppmy.cn/ops/137401.html

相关文章

11.27作业

C语言关键概念 ├── static │ ├── 局部变量 │ │ └── 生命周期持续整个程序运行 │ └── 全局变量和函数 │ └── 仅在定义文件中可见 ├── extern │ └── 引入其他文件中的全局变量 ├── typedef │ ├── 类型重命名 │ │ ├─…

java——Tomcat连接池配置NIO、BIO、APR

Tomcat连接池的配置涉及不同的IO模型&#xff0c;包括NIO&#xff08;Non-blocking IO&#xff0c;非阻塞IO&#xff09;、APR&#xff08;Apache Portable Runtime&#xff0c;Apache可移植运行库&#xff09;和BIO&#xff08;Blocking IO&#xff0c;阻塞IO&#xff09;。以…

深入浅出摸透AIGC文生图产品SD(Stable Diffusion)

hihi,朋友们,时隔半年(24年11月),终于能腾出时间唠一唠SD了🤣,真怕再不唠一唠,就轮不到SD了,技术更新换代是在是太快! 朋友们,最近(24年2月)是真的没时间整理笔记,每天都在疯狂的学习Stable Diffusion和WebUI & ComfyUI,工作实在有点忙,实践期间在飞书上…

kafka进阶_3.消费消息

文章目录 一、消费消息概览1.1、消费示例代码1.2、消费过程 二、消费者组2.1、push & pull2.2、消费者组 三、调度器Coordinator四、消费者分配策略4.1、引言4.2、分配基本流程4.3、分配策略4.3.1、轮询分配策略4.3.2、轮询分配策略 五、消费偏移量5.1、起始偏移量5.2、指定…

JAVA实现将PDF转换成word文档

POM.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.…

【论文笔记】LLaVA-o1: Let Vision Language Models Reason Step-by-Step

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: LLaVA-o1: Let Vision Lan…

《热带气象学报》

《热带气象学报》创刊于1984年&#xff0c;前身为《热带气象》&#xff0c;1993年更名为《热带气象学报》&#xff0c;是广东省气象局主管&#xff0c;中国气象局广州热带海洋气象研究所主办的中文学术期刊。 本刊坚持“热带气象”的办刊特色&#xff0c;主要刊登&#xff1a;…

Carla学习日志

车辆工程本科小白&#xff0c;如何在Carla中运行仿真&#xff0c;构建车辆行人地图场景模型并且掌握基本的环境感知算法&#xff1f; - Here-Kin的回答 - 知乎 https://www.zhihu.com/question/455478599/answer/2315207702 CARLA Documentation Python API reference 小飞自动…