vue面试题(未完成)

1.组件之间传值

链接: vue的组件都有哪几种类??.

2.vue双向绑定的原理

vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图

3.Vue生命周期

链接: 生命周期.

5.v-if与v-show的区别

相同点:都可以动态控制着dom元素的显示隐藏
区别:
v-if: 控制DOM元素的显示隐藏是将DOM元素整个添加或删除;
v-show: 控制DOM 的显示隐藏是为DOM元素添加css的样式display,设置none或者是block,DOM元素是还存在的
v-if有更高的切换消耗;
v-show有更高的初始渲染消耗
v-if适合运营条件不大可能改变的场景下;
v-show适合频繁切换;

6.mvvm和mvc

mvvm
概念:MVVM是 Model-View-ViewModel 的缩写,分别对应着:数据,视图,视图模型。Model是我们应用中的数据模型,View是我们的UI视图层,通过ViewModle,可以把我们Modle中的数据映射到View视图上,同时,在View层修改了一些数据,也会反应更新我们的Modle。简单理解就是双向数据绑定,即当数据发生变化的时候,视图也就发生变化,当视图发生变化的时候,数据也会跟着同步变化。
mvc:
View:视图层;
Model:业务数据层;
Controller: 控制器。接收View层传递过来的指令,选取Model层对应的数据,进行相应操作。
特点:MVC有如下两种模式,不管哪种模式,MVC的通信都是单向的,由图也可以看出,View层会从Model层拿数据,因此MVC中的View层和Model层还是存在耦合的。

7.vue 路由传参数如何实现

ps:主要通过 query 和 params 来实现
query 传参:通过在 router-link 或this.$router.push()传递 url 地址并且拼接? 问号传递的参数 例如:rourer-link to=/goods?id=1001,然后在接收的页面通过 this.$route.query.id 来接收
优点:通用性比较好,刷新数据不会丢失
params 传参:通过在 router-link 或 this.$router.push()传递 url 地址并且拼接的参数也用/来表示 例如:rourer-link to=/goods/1001,并且在路由页面通过 routes=[{path:/goods/:id’}]配置,最后在接收的页面通过 this.$route.params.id来接收
优点:传递数据量在,优雅
缺点:刷新数据不会丢失

8. vue 中 key 的作用

“key 值:用于管理可复用的元素。因为 Vue 会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染。这么做使 Vue 变得非常快,但是这样也不总是符合实际需求。 2.2.0+ 的版本里,当在组件中使用 v-for 时,key 是必须的。”

9.vue 常用修饰符

.stop: 阻止点击事件冒泡。等同于 JavaScript 中的 event.stopPropagation()
使用了.stop 后,点击子节点不会捕获到父节点的事件
.prevent 防止执行预设的行为(如果事件可取消,则取消该事件,而不停止事件的进一步传播),等同于 JavaScript 中的 event.preventDefault(),prevent 等同于 JavaScript 的 event.preventDefault(),用于取消默认事件。
.capture 与事件冒泡的方向相反,事件捕获由外到内,捕获事件:嵌套两三层父子关系,然后所有都有点击事件,点击子节点,就会触发从外至内父节点-》子节点的点击事件
.self 只会触发自己范围内的事件,不包含子元素
.once 只执行一次,如果我们在@click 事件上添加.once 修饰符,只要点击按钮只会执行一次。
.passive Vue 还对应 addEventListener 中的 passive 选项提供了 .passive
修饰符

10.methods,watch,computed的区别

methods,watch,computed的区别
1 . computed 属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。主要当作属性来使用;
2 . methods 方法表示一个具体的操作,主要书写业务逻辑;
3 . watch 一个对象,键是需要观察的表达式,值是对应回调函数。主要用来监听某些特定数据的变化,从而进行某些具体的业务逻辑操作;可以看作是 computed 和 methods 的结合体;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值