vue面试题小记

Vue

如何注册一个Vue组件

全局注册

局部注册

Vue双向绑定的实现原理

vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的。

数据劫持是通过Object.defineProperty()来监听属性的变化,用set、get进行重写。

在set做触发发布订阅的emit来实现改变数据更新视图,视图则可通过input、change事件监听来更新数据

组件间如何传递参数

1.父子组件通信使用prop和自定义事件
2.非父子组件通信使用eventBus
3.Vuex状态管理

Vue生命周期钩子和触发顺序

beforeCreate--->created--->beforeMount ---> mounted ---> beforeUpdate --->updated --->
beforeDestroy ---> destroyed

slot插槽

slot是用于实现内容分发的,即支持在组件内动态的插入相应的Html内容

普通插槽:可在插槽中声明一个默认值




Submit

具名插槽:一个组件需要多个slot时,可为插槽定义具体的名字


作用域插槽:希望插槽能访问/子组件的数据是,可使用作用域插槽



解构插槽
动态插槽名

如何让自定义组件绑定原生事件,vue还有那些修饰符?

使用native事件修饰符

.stop 阻止冒泡
.prevent 阻止默认事件
.capture
.self 即事件触发元素是自身才触发
.once 即此事件绑定的函数只触发一次
.passive

Vue-router

有哪些监听路由的方式

1.全局守卫 beforeEach
2.组件内路由钩子 beforeRouteEnter beforeRouteUpdate beforeRouteLeave
3.路由独享守卫 在路由配置上直接定义 beforeEnter

相关文章

这个问题和curl无法访问https资源是类似的,现在curl可以访问https资源,但是使用pecl安装扩展的时候不行...
在浏览器输入chrome://flags/回车,找到Omnibox UI Hide Steady-State URL Scheme and Trivial Subdoma...
方法一: 我们都知道Ubuntu有一个专门用来安装软件的工具apt,我们可以用它来全自动安装arm-linux-gcc。...
中文的windows下的cmd默认使用GBK的编码,敲代码时,页面使用的是UTF-8(65001),而powershell控制台默认...
提示错误: arm-linux-gcc:Command not found PATH里有/usr/oca/arm/bin,但是make的时候,就是找不到 a...
我在Graph API开发中用的最多的测试工具就是Graph Explore,这个是微软开发的网页版的Graph API的测试工...