当前位置: 首页 > news >正文

Vue笔记(1)——数据代理与绑定

一、初始Vue

1.想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象;
2.root容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法;
3.root容器里的代码被称为【Vue模板】;
4.Vue实例和容器是一一对应的
5.真实开发中只有一个Vue实例,并且会配合着组件一起使用;
6.{{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性;
7.一旦data中的数据发生改变,那么页面中用到该数据的地方也会自动更新;

Vue.js为什么称为“渐进式”的前端框架?因为你可以随着你的学习进度或者应用场景变化使用Vue逐渐来增强原来的HTML、CSS、JS,而不是说用Vue就把原来那一套完全就覆盖掉了,因此称为渐进式。对于已有前端基础的学习者来说,这是一个灵活且重要的特性

二、Vue模板语法

1.插值语法

功能:用于解析标签体内容。
写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。

2.指令语法

功能:用于解析标签(包括:标签属性、标签体内容、绑定事件…)。
举例:v-bind:href=“xxx” 或 简写为 :href=“xxx”,xxx同样要写js表达式,可以直接读取到data中的所有属性。
备注:Vue中有很多的指令,且形式都是:v-???,此处我们只是拿v-bind举个例子。

三、数据绑定

Vue中有2种数据绑定的方式:
1.单向绑定(v-bind):数据只能从data流向页面。
2.双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data。
备注:
1.双向绑定一般都应用在表单类元素上(如:input、select等)
2.v-model:value 可以简写为 v-model,因为v-model默认收集的就是value值。

四、el和data的两种写法

1.el有2种写法
(1).new Vue时候配置el属性。
(2).先创建Vue实例,随后再通过vm.$mount(‘#root’)指定el的值。
在这里插入图片描述
2.data有2种写法
(1).对象式
(2).函数式
如何选择:目前哪种写法都可以,以后学习到组件时,data必须使用函数式,否则会报错。
在这里插入图片描述
3.一个重要的原则:
由Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue实例了。

五、Vue模型

虽然没有完全遵循 MVVM 模型,但是 Vue 的设计也受到了它的启发。因此在文档中经常会使用 vm (ViewModel 的缩写) 这个变量名表示 Vue 实例。
在这里插入图片描述

六、vm数据代理

1.Vue中的数据代理:
通过vm对象来代理data对象中属性的操作(读/写)
2.Vue中数据代理的好处:
更加方便的操作data中的数据
3.基本原理:
通过Object.defineProperty()把data对象中所有属性添加到vm上。
为每一个添加到vm上的属性,都指定一个getter/setter。
在getter/setter内部去操作(读/写)data中对应的属性。
在这里插入图片描述
当读取data中的属性值时,通过对应的getter方法读取,当修改属性值时,通过setter方法修改,并且重新解析vue模板,用到此属性值的DOM节点都重新渲染。如下为Vue数据代理原理的一个简单实现
在这里插入图片描述

七、事件处理 v-on

事件的基本使用:
1.使用v-on:xxx 或 @xxx 绑定事件,其中xxx是事件名;
2.事件的回调需要配置在methods对象中,最终会在vm上;
3.methods中配置的函数,不要用箭头函数!否则this就不是vm了;
4.methods中配置的函数,都是被Vue所管理的函数,this的指向是vm 或 组件实例对象;
5.@click=“demo” 和 @click=“demo($event)” 效果一致,但后者可以传参;

Vue中的事件修饰符:
1.prevent:阻止默认事件(常用);
2.stop:阻止事件冒泡(常用);
3.once:事件只触发一次(常用);
4.capture:使用事件的捕获模式;
5.self:只有event.target是当前操作的元素时才触发事件;
6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕;

键盘事件:
在这里插入图片描述

八、计算属性 computed

当页面元素中需要一个由多个属性计算出的值时,可以在vue实例中设置一个计算属性,避免在模板中写过于复杂的表达式。
computed内的属性即为计算属性,在模板中使用时会直接调用其内部的get函数返回结果,并且当函数内用到的变量动态更新时,计算属性也会同时更新。
在这里插入图片描述

九、监视属性 watch

用于监听属性变化,当属性变化时,执行回调函数handler
在这里插入图片描述

十、绑定样式

绑定class样式
在这里插入图片描述
绑定style样式
在这里插入图片描述

http://www.lryc.cn/news/5503.html

相关文章:

  • LeetCode题目笔记——2563. 统计公平数对的数目
  • 【MySQL Shell】8.9.5 将集群重新加入到 InnoDB ClusterSet
  • 元素水平垂直居中的方法有哪些?如果元素不定宽高呢?
  • 访问学者在新加坡访学生活日常花销大吗?
  • XCP实战系列介绍11-几个常用的XCP命令解析
  • 全志V853芯片 如何在Tina V85x平台切换sensor?
  • 2023全网最火的接口自动化测试,一看就会
  • 华为OD机试真题JAVA实现【最小传递延迟】真题+解题思路+代码(20222023)
  • Transformer
  • 并发包工具之 批量处理任务 CompletionService(异步)、CompletableFuture(回调)
  • 验收测试分类
  • 因新硬件支持内核问题Ubuntu 22.04.2推迟发布
  • agent扩展-自定义外部加载路径
  • Elasticsearch使用篇 - 指标聚合
  • Python生命周期及内存管理
  • Elasticsearch7.8.0版本进阶——数据写流程
  • 化学试剂Glutaric Acid-PEG-Glutaric Acid,GA-PEG-GA,戊二酸-聚乙二醇-戊二酸
  • 知识图谱业务落地技术推荐之国内知识图谱平台汇总(竞品)[阿里、腾讯、华为等】
  • ABC 289 G - Shopping in AtCoder store 数学推导+凸包
  • ARM Linux 如何在sysfs用户态命令行中控制 GPIO 引脚?
  • 【Linux】生产者消费者模型 - 详解
  • 源码深度解析Spring Bean的加载
  • STL——priority_queue
  • Springboot集成工作流Activity
  • 2023软件测试工程师涨薪攻略,3年如何达到月薪30K?
  • Java面试——Spring Bean相关知识
  • 上班在群里摸鱼,逮到一个字节8年测试开发,聊过之后羞愧难当...
  • HTTP、WebSocket和Socket.IO
  • Fluent Python 笔记 第 11 章 接口:从协议到抽象基类
  • 【Spark分布式内存计算框架——Spark Core】11. Spark 内核调度(下)