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…

客制化键盘编程_客制化键盘如何入坑?

首先&#xff0c;玩客制化键盘之前你得了解一些键盘相关的知识。比如键盘的轴体大致分为&#xff1a;线性轴、段落轴、声音轴。线性轴主要是类红轴&#xff0c;静音轴两大类。段落轴主要是类茶轴&#xff0c;类hp轴两大类。声音轴就是类青轴和类box白轴两大类。这些类别搞清楚之…

java开心消消乐代码_Vue实现开心消消乐游戏算法

摘要&#xff1a;这篇Vue栏目下的“Vue实现开心消消乐游戏算法”&#xff0c;介绍的技术点是“开心消消乐、Vue、开心、游戏、算法、实现”&#xff0c;希望对大家开发技术学习和问题解决有帮助。之前做过一个算法题&#xff0c;算法要求就是写一个开心消消乐的逻辑算法&#x…

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

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

python弹出框多一个空白框_Selenium+python3 应对多个弹出框存在(alert_is_present)判断和处理...

from selenium.webdriver.support import expected_conditions as ECfrom selenium.common.exceptions import UnexpectedAlertPresentException#存在弹窗处理方法一 &#xff1a;EC.alert_is_present()(driver)检测是否存在弹窗try:WebDriverWait(driver, 10).until(EC.title_…

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

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

linux syslog 删除文件_Linux没有当心删除日记文件syslog怎样办

体系运用暂了须要对日记文件的内容停止清算&#xff0c;但有时果为大意而将日记文件给增除了了&#xff0c;而没有是革除日记内容&#xff0c;逢到那种状况该若何解决呢&#xff1f;其真增除了的日记文件syslog是能够规复的&#xff0c;随小编去看看吧。上面以Unbutu体系为例&a…

苹果电脑更改sd卡只读_SD卡变为只读系统

2.使用用fsck – y 来修复文件系统转自&#xff1a;http://blog.chinaunix.net/uid-20753645-id-1877931.html问题&#xff1a;将上述这些存储设备插入USB端口或读卡设备后&#xff0c;Ubuntu系统会自动mount这些设备到一个挂载点并在桌面上显示访问图标。但是某些情况下&#…

arraylist扩容是创建新数组吗 java_arraylist扩容机制要怎么实现?arraylist怎么扩容...

ArrayList大家都知道了吧&#xff0c;这是一个动态数组。以java语言来说&#xff0c;数组是定长的&#xff0c;在被创建之后就不能被加长或缩短了&#xff0c;因此&#xff0c;了解它的扩容机制对使用它尤为重要。下面&#xff0c;我们就一起来看看它的扩容机制是怎么实现的吧。…

jpa 动态sql拼接_jpa 如何优雅的实现动态sql

动态语言注解import www.ijava.com.entity.User;/** (1)动态语言注解对于创建动态的查的语言。MyBatis提供了多个注解如&#xff1a;e68a843231313335323631343130323136353331333365656563InsertProvider,UpdateProvider,DeleteProvider和SelectProvider&#xff0c;这些都是建…

广联达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…

memlock mysql_mysql配置详解(不断更新)

1. back_log指定MySQL可能的连接数量。当MySQL主线程在很短的时间内得到非常多的连接请求&#xff0c;该参数就起作用&#xff0c;之后主线程花些时间(尽管很短)检查连接并且启动一个新线程。back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在…

mysql c2_Mysql具有C2级安全性

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼those who are authorized for audit data. The TCB shall be able to record the following types of events: use of identificationand authentication mechanisms, introduction or objects into a users address space (e.g.,…

mysql orm c语言_【译】Simple MySQL ORM for C

一直不知道有ORM这种东西&#xff0c;直到和 海坡 交流后才接触。在项目中&#xff0c;需要将数据存储到数据库中&#xff0c;首先想到的是生成各种raw SQL的解决方法。但随着项目的进展&#xff0c;发现它很不灵活。譬如可能因为有新的需求&#xff0c;在数据库student表中添加…

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

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

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

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