slot传函数 vue_面试必备 Vue 知识点

Vue思维导图目录

  1. MVCMVVM的区别
  2. Vue基本代码结构
  3. Vue指令
  4. Vue组件
  5. classstyle动态绑定
  6. computed计算属性
  7. EventBus
  8. filter过滤器方法

Vue是一套构建用户界面的框架,只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。(Vue有配套的第三方类库,可以整合起来做大型项目的开发)

2acd17a521f6107542563b5eac017564.png

0.MVC 与MVVM的区别

  • MVC是后端的分层开发概念;
  • MVVM是前端视图层的概念,主要关注于 视图层分离MVVM把前端的视图层分为了三部分:Model,View,VM ViewModel

1.Vue基本代码结构

9f7619dc9d4e5f61e21cddd7c3ca5f4c.png
const vm = new Vue({
 el:'#app',//所有的挂载元素会被 Vue 生成的 DOM 替换
 data:{ // this->window },
 methods:{ // this->vm},
 //注意,不应该使用箭头函数来定义 method 函数 ,this将不再指向vm实例
 props:{} ,// 可以是数组或对象类型,用于接收来自父组件的数据
 //对象允许配置高级选项,如类型检测、自定义验证和设置默认值
 watch:{ // this->vm},
 computed:{},
 render(){},
 // 声明周期钩子函数
})

当一个Vue实例被创建时,它将data对象中的所有的property加入到Vue的响应式系统中。当这些property的值发生改变时,视图将会产生 响应,即匹配更新为新的值。

例外:

  • Vue实例外部新增的属性改变时不会更新视图。
  • Object.freeze(),会阻止修改现有的property,响应系统无法追踪其变化。
实例属性和方法
  • 访问el属性:vm.$el,`document.getElemnetById(‘app’)``;
  • 访问data属性:vm.$data
  • _$开头的property不会被Vue实例代理,因为它们可能和Vue内置的propertyAPI方法冲突。你可以使用例如vm.$data._property的方式访问这些property
  • 访问data中定义的变量:vm.a,vm.$data.a
  • 访问methods中的方法:vm.方法名()
  • 访问watch方法:vm.$watch()

不要在选项property或回调上使用箭头函数,this将不会指向Vue实例 比如created: () => console.log(this.a)vm.$watch('a', newValue => this.myMethod())

因为箭头函数并没有thisthis会作为变量一直向上级词法作用域查找,直至找到为止,经常导致Uncaught TypeError: Cannot read property of undefinedUncaught TypeError: this.myMethod is not a function之类的错误。

2. Vue指令

aee44ddd6660490a56747361aa15f37c.png
插入数据:
  • 插值表达式相当于占位符,不会清空元素中的其他内容。直接写在标签中。会将html标签作为文本显示。
  • v-text会覆盖元素中原本的内容。写在开始标签中,以属性的形式存在。会将html标签作为文本显示。
  • v-html(innerHTML)会覆盖元素中原本的内容,会将数据解析成html标签。
c25af9a29f2b2e2c316354f38e1d1ae6.png

3. Vue组件

c65ad303df57e8308224db8c039829e0.png
组件配置对象和vue实例的区别
  • 组件配置对象没有el,组件模板定义在template中;
  • 组件配置对象中data是函数,该函数返回的对象作为数据。
创建组件模板
  • 方法一
var com = Vue.extend({
 //通过template属性 指定组件要展示的html结构
 template:'

这是使用Vue.extend搭建的全局组件


})
  • 方法二:使用对象创建模板
{
 template:'

这是使用Vue.extend搭建的全局组件-com3

'      
}
  • 方法三:使用template标签(写在受控区域外面)创建模板,通过id建立联系
"tmpl"> 写在受控区域外面
  ......
</template> 
{ template:'#tmpl'  }
组件中的data是一个函数的原因
  • 多次使用该组件,如果修改其中一个中的数据,另一个也会改变。
  • 写成函数的形式,每次调用函数,返回一个新的对象
ref属性
  • 获取dom元素/组件:标签上添加ref属性,this.$refs.ref属性值获取该dom元素/组件
  • this.$refs.ref属性值.变量名获取组件中的数据
  • this.$refs.ref属性值.方法名()获取组件中的方法
$parent 和 $children 获取 父/子组件的数据和方法
  • this.$parent获取父组件
  • $children由于子组件的个数不确定 返回的是一个数组 ,不是对象
  • this.$children[0]获取第一个子组件
作用域插槽:父组件替换插槽的标签,内容由子组件决定。

编译的作用域:自身的数据在自身模板template标签中生效

  • 插槽上添加 属性绑定data=’子组件中的数据’
  • 父组件通过template标签,添加slot-scope=’slot’ slot-scope属性接收子组件中的数据slot.data
  • template标签中的html结构替换slot插槽中的默认html结构。

4.class和style动态绑定

3ee133aadfb1ed4d605a94e05ee6cb08.png

5.computed 计算属性

109cf03c34e56abf38cd1b7abc535a4c.png

6.EventBus

9e3865e0fb13add6270237f0356a2ba4.png

7.filter过滤器方法

43e11c9e543607e37e4cacff5b0ef341.png
访问 1024.Cool看更多精彩文章561dd0cefc408d3d3d439962ea2b5c01.png

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

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

相关文章

服务器实际显示内存,服务器实际显示内存

服务器实际显示内存 内容精选换一换设备实时状态查询是检测设备在运行过程中的状态信息。用户可任选以下指令之一查看设备实时状态查询命令的可用参数。ascend-dmi -i -hascend-dmi -i --help各参数解释如表1所示。以查看芯片的详细信息为例。ascend-dmi -i -dt若推理服务器返回…

合肥天鹅湖万达广场机器人_合肥租房价位及租房地理位置推荐

首先我们来看一张合肥的区域分布地图下面将从如下几个区域开始细说【列举租金区域仅供参考哟~】庐阳区庐阳区是合肥市老城区&#xff0c;位于中国中部&#xff0c;属北亚热带季风湿润气候区&#xff0c;气候温和&#xff0c;四季分明。截至2017年底&#xff0c;庐阳区辖1乡1镇、…

python udp创建addr_一篇文章搞定Python 网络编程之UDP协议

基于UDP协议的socketPS&#xff1a;udp是无连接的&#xff0c;先启动那一端都不会报错server端import socket # 导入socket模块udp_sk socket.socket(typesocket.SOCK_DGRAM) # 创建一个服务器套接字udp_sk.bind((127.0.0.1, 8080)) # 绑定服务器套接字msg, addr udp_sk.r…

不能启动u盘 uefi_不知道怎么进入主板设置U盘启动,试试这些方式

一个正常运行的电脑&#xff0c;你可能安装的是Windows 或 Linux&#xff0c;但无论你是选择哪个系统&#xff0c;现代个人电脑都是绕不开的BIOS/UEFI的。通过U盘安装系统&#xff0c;你需要BIOS/UEFI来修改启动项。启动U盘&#xff0c;移动硬盘上的Windows to Go&#xff0c;你…

4 插件模块_设计师必备的ps插件推荐

Photoshop可以说是每个设计师都必须会用的设计工具之一了。为了设计需求&#xff0c;大家会在Photoshop里搭配一些PS插件来使用&#xff0c;提高工作效率。这篇文章就为大家整理了做设计的最佳插件&#xff0c;一起来看看吧。ps设计助理&#xff08;高效设计ps插件&#xff09;…

广联达2018模板算量步骤_广联达钢结构算量软件可以和广联达量筋合一GTJ2018互导吗?...

钢结构软件和量筋合一软件互导https://www.zhihu.com/video/1164108225778741248钢结构软件和量筋合一软件互导一、问题广联达钢结构算量软件可以和广联达量筋合一GTJ2018互导吗&#xff1f;二、合理答案可以&#xff0c;但是对软件版本有要求。需要广联达钢结构算量软件版本在…

安卓beforetextchanged_安卓onTextChanged参数解释及实现EditText字数监听 Editable使用

尊重原作者:此篇文章是借鉴原作者地址 的博文 并进行修改和增加补充说明,我只是补充和修改:我感觉这篇文章经过我的补充 市面多少文本操作变化 你都知道怎么做了.并且感觉是非常详细关于 android 文本编辑框的文本变化 并且通俗易懂(内含动态图),为了大家方便查看 我这里复制作…

mysql存储过程捕获错误处理_mysql存储过程之异常处理篇

mysql存储过程也提供了对异常处理的功能&#xff1a;通过定义HANDLER来完成异常声明的实现语法如下&#xff1a;DECLARE handler_type HANDLER FOR condition_value[,...] sp_statement handler_type: CONTINUE | EXIT condition_value: SQLSTATE [VALUE] sqlstate_value | con…

ruby mysql 占位符_ruby操作常用数据库

使用Ruby DBI模块目录Ruby DBI模块为ruby程序访问数据库提供了一个与数据库无关的接口&#xff0c;就像perl的DBI模块一样。这篇文章将讲述如何编写基于DBI的ruby程序。这篇文章是对DBI规范文档(specification documents)的补充&#xff0c;而不是要替代规范文档&#xff0c;更…

threejs获取模型坐标_Threejs倒影实现解析

倒影是在自然界中非常常见的一种现象&#xff0c;例如水面倒影、镜子。我们都知道&#xff0c;眼睛之所以能够看到某个物体&#xff0c;是因为物体本身能够发光或者物体能够反射其它的物体所发的光&#xff0c;这些光进入到我们的眼里就形成了该物体影像。倒影形成也是一种光学…

遗传算法求函数最大值实验_小知识:什么是遗传算法

1 什么是遗传算法遗传算法(GeneticAlgorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型&#xff0c;是一种通过模拟自然进化过程搜索最优解的方法。其主要特点是直接对结构对象进行操作&#xff0c;不存在求导和函数连续性的限定&#xff1b;…

$dbms=mysql_Oracle dbms

Oracle dbms_random包的用法 Oracle dbms_random包的用法 1.dbms_random.value方法 dbms_random是一个可以生成随机数或者字符串的程序包。这个包有initialize()、seed()、terminate()、value()、normal()、random()、string()等几个函数&#xff0c;但value()是最常用Oracle d…

js定位div坐标存入mysql_JavaScript与Div 对层定位和移动获得坐标

1:移动图层 获得点的x轴y轴坐标&#xff0c;从而进行绝对定位(注意&#xff1a;竖拉框会影响 x 轴 y 轴坐标值)var x,y,z,downfalse,objfunction init(){objevent.srcElement //事件触发对象obj.setCapture() //设置属于当前对象的鼠标捕捉zobj.style.zIndex …

mysql 不指定 长度吗_mysql中整数类型后面的数字,是不是指定这个字段的长度?比如int(11),11代表11个字节吗?...

原先对mysql不太理解&#xff0c;但也没有报错。但理解的不够深入。这次补上。原来以为int(11)是指11个字节&#xff0c;int(10)就是10个字节。我错了。http://zhidao.baidu.com/link?urlpuYWaGBQNKNHgffO5kdvXshF3KmX8OuB4Mor3HXapbNHa8m1CdlF8PJTqVuKa1eKcEd6Bv2NKUr3I-KJr5…

python绘制折线图显示数据_漂亮图表也可用python信手拈来!一文教你学会用Python绘制堆积折线图...

今天&#xff0c;和大家聊聊关于Python绘图相关的东东哦&#xff0c;还是和大家继续深耕Python经典的matplotlib库哦&#xff01;好啦&#xff0c;咱们就开始吧&#xff01;首先&#xff0c;咱们聊聊如何在Python中去绘制经典的堆积折线图到这可能有些朋友可能会问了&#xff1…

python画图代码对比_Python实现代码差异对比分析

在写代码过程&#xff0c;有时需要对比查看两个代码文件的不同&#xff0c;肉眼查看费事费力&#xff0c;很难进行对比找出不同。例如&#xff0c;程序运行报错时&#xff0c;会对比自己先前写的代码或者参考别人代码&#xff0c;有哪些地方不对&#xff0c;此时便可以通过该程…

flyway配置mysql_Flyway快速上手教程

一、Flyway是什么官网解释地非常全面&#xff0c;可先大致阅读一下。简单地说&#xff0c;flyway是一个能对数据库变更做版本控制的工具。二、为什么要用Flyway在多人开发的项目中&#xff0c;我们都习惯了使用SVN或者Git来对代码做版本控制&#xff0c;主要的目的就是为了解决…

mysql主从 单点_MySQL主从复制虽好,能完美解决数据库单点问题吗?

一、单个数据库 服务器 的缺点数据库服务器存在单点问题&#xff1b;数据库服务器资源无法满足增长的读写请求&#xff1b;高峰时数据库连接数经常超过上限。二、如何解决单点问题增加额外的数据库服务器&#xff0c;组建数据库集群&#xff1b;同一集群中的数据库服务器需要具…

java ora 28040_Oracle 11g与112c中ORA-28040 错误解决

今天遇到一个连接192.168.56.102这个库报错Java.sql.SQLException: ORA-28040: No matching authentication protocolOracle 12C下查询此报错oralce:/oracle/db/app/12.1.0/db/network/admin> oerr ora 2804028040, 0000, "No matching authentication protocol"/…

java实验_Java实验报告(实验一)

课程&#xff1a;Java程序设计 班级&#xff1a; 1351姓名&#xff1a;王玮怡 学号&#xff1a;20135116成绩&#xff1a; 指导教师&#xff1a;娄嘉鹏 实验日期&#xff1a;2015.04.15实验密级&#xff1a; 预习程度&#…