vue面试基础总结01

一、v-show 与 v-if 区别
1、区别

v-show:是css根据display属性来进行显隐切换。
v-if:是完整的销毁和重新创建。

2、使用

频繁切换时用v-show
运行时较少改变时用v-if

3、v-if=‘false’ v-if是条件渲染,当false的时候不会渲染.

当DOM元素有接口时候,v-if=true时候,会请求接口。

二、绑定动态属性 :class 的方法
1、行内
<div :style="{color:red}"> </div>
2、对象方法
<div :class="{active:isActive,'text-danger':isDanger}"> </div>
3、数组方法
<div :class="[activeClass, errorClass]"> </div>
三、计算属性computed和 watch 的区别(这个我还没懂)

https://segmentfault.com/a/1190000018630871
https://blog.csdn.net/smartdt/article/details/75557369?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

四、事件修饰符

在Vue中,事件修饰符处理了许多DOM事件的细节,让我们不再需要花时间去处理这些烦恼的事情,而能有更多的精力专注于程序的逻辑处理。

.stop:等同于JavaScript中的event.stopPropagation(),防止事件冒泡
.prevent:等同于JavaScript中的event.preventDefault(),防止执行预设的行为(如果事件可取消,则取消该事件,而不停止事件的进一步传播)
.capture:与事件冒泡的方向相反,事件捕获由外到内
.self:只会触发自己范围内的事件,不包含子元素
.once:只会触发一次
五、组件中的data 为什么是函数,而new Vue 实例里,data 可以直接是一个对象
export default {
    data(){
        return {
        }
    }
}

因为组件是用来复用的,JS 里对象是引用关系,这样作用域没有隔离。
而 new Vue 的实例,是不会被复用的,因此不存在引用对象的问题。

六、keep-alive
// 缓存组件,用<keep-alive>组件包裹起来该组件
<keep-alive>
  <component v-bind:is="currentTabComponent"></component>
</keep-alive>
使用场景:(详细参考:https://juejin.im/post/5b2ce07ce51d45588a7dbf76)

1、Vue中前进刷新,后退缓存用户浏览数据
2、列表页面 =>点击进入详情页=> 后退到列表页 要缓存列表原来数据
3、重新进入列表页面 => 获取最新的数据

七、路由的跳转方式

1. router-link标签会渲染为标签

2.另一种是编程是导航 也就是通过js跳转 比如 this.router.push('/home')
this.router.go('-1') 返回上一页

posted @ 2020-03-04 11:25  麦子同学  阅读(97)  评论(0编辑  收藏  举报