Vue 99%出现的面试题

  1. Vue如何去除url 的 #

    vue-router 中默认使用的是hash 模式,所以在路由加载的时候,项目中url 会自带 #。如果不想使用 #,可以使用vue-router 的另一种模式 history

    new Router({
      mode: 'history',
      routes: [ ]
    })
    
  2. Vue生命周期的理解

    vue实例有一个完整的生命周期,生命周期也就是指一个实例从开始创建都销毁的这个过程

    • beforeCreate() 在实例创建之前执行,数据未加载状态
    • creacted() 在实例创建、数据加载后,能初始化数据,dom渲染之前执行
    • beforeMount() 虚拟dom已创建完成,在数据渲染前最后一次更新数据
    • mounted() 页面、数据渲染完成,真实dom挂载完成
    • beforeUpdate() 重新渲染之前触发
    • updated() 数据已经更新完成,dom也重新render 完成,更新数据会陷入死循环
    • beforeDestory()destoryed() 前者是销毁前执行(实力依然完全可用),后者则是销毁后执行
  3. v-if 和 v-show的区别
    使用了v-if 的时候,如果值为false,那么页面将不会有这个html标签生成。v-show 则是不管值为false还是truehtml元素都会存在,只是css中的display显示或隐藏

  4. $route 和 $router 的区别
    $router 为VueRouter实例,想要导航到不同url,则使用 $router.push
    $route 为当前router跳转对象里面可以获取namepathqueryparams

  5. vue-router使用params与query传参有什么区别
    vue-router可以通过paramsquery进行传参

    // 传递
    this.$router.push({path: './xxx', params: {xx:xxx}})
    this.$router.push({path: './xxx', query: {xx:xxx}})
    
    // 接收
    this.$route.params
    
    this.$route.query
    

    params是路由的一部分,必须要有。query是拼接在url后面的参数,没有也没关系
    params不设置的时候,刷新页面或者返回参数会丢失,query则不会有这个问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值