vue面试题(五)

面试题

vue中key值的作用?

在v-for时使用,标识组件的唯一性,更好的区分组件,高效的更新虚拟DOM

watch和computed的区别?

Watch只能监听data中的数据变化,computed不需要,watch可以进行异步操作,computed不可以,computed不修改原始数据,通过return返回处理的数据,可以包含大量的逻辑运算

对于vue是一套渐进式框架的理解?

渐进式代表的含义是:主张最少。 Vue可能有些方面是不如React,不如Angular,但它是渐进的,没有强主张,你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用;也可以整个用它全家桶开发,当Angular用;还可以用它的视图,搭配你自己设计的整个下层用。你可以在底层数据逻辑的地方用OO和设计模式的那套理念,也可以函数式,都可以,它只是个轻量视图而已,只做了自己该做的事,没有做不该做的事,仅此而已。

如何解决axios中的post提交参数不解析的问题?

关于post提交参数的问题 问题描述:post提交参数需要提交的数据形式需要为一个字符串 形如:a=b&c=d。我们平时开发习惯于传入对象,所以需要将对象进行处理。切记:不可以直接提交对象 如何处理?- 方法1:通过for in 将对象转化为 字符串 - 方法2:URLSearchParams - 方法3:qs库

axios的基础方法有哪些?

axios.get(请求地址,配置对象).then(res=>{ res就是相应的数据 }) axios.post(请求地址,请求数据,配置对象).then(res=>{ … }) axios.create(配置对象) axios.all([请求1,请求2]).then(res=>{ res是一个数组。数组的值就是每个请求返回的数据信息 }) axios({ 配置信息 })

vuex的核心概念有哪些,分别表示什么含义?

state 共享的数据,类似于data getters 对state的数据进行处理, 类似computed mutations 对state数据进行修改 actions 触发mutations 对数据进行修改 module 分模块管理数据

路由同组件跳转,组件将不会更新,如何解决这个问题?

  • 方法1:利用watch监听$route的变化 - 方法2:利用路由局部钩子 beforeRouteUpdate 只要路由更新就调用

vue中哪些方法可以实现页面之间传参,且如何获取到值?

1、search传参 this. r o u t e . q u e r y . 属 性 名 2 、 动 态 路 由 p a t h : " / 地 址 / 变 量 名 " < r o u t e r − l i n k t o = " / 地 址 / 数 据 值 " > < / r o u t e r − l i n k > t h i s . route.query.属性名 2、动态路由 path:"/地址/变量名" <router-link to="/地址/数据值"></router-link> this. route.query.2path:"//"<routerlinkto="//"></routerlink>this.route.params.变量名 3、本地存储 setItem() getItem()

vue-router 基本使用步骤?

1步:引入vue.js 再引入vue-router.js、  vue-router需要引入在vue之后
<script src="vue.js"></script>
<script src="vue-router.js"></script>2步:设置路由组件
let 组件配置变量 ={
  template:"#模板id",
    data(){
      return{}
    }
    ...
}3步:建立映射关系
let routes = [
{
      path:"/地址",
      component:组件配置变量
    },
    {
      path:"/地址/:id",    // 动态路由
      component:组件配置变量
    },
  {
      path:"/地址",
      components:{
        default:组件配置变量      // <router-view name="default"/>
        视图的名称:组件配置变量    // <router-view name="视图名称"/>
      }
    },
    {
      path:"/地址",   // 访问地址的时候回去访问地址2
      component:组件配置变量,
      redirect:"/地址2"   
    },
  {
      path:"/地址",    
      component:组件配置变量A,
      children:[
        {
          path:"地址2",    
       // 访问  /地址/地址2  
           //就渲染  组件配置变量 会渲染在组件配置变量A模板里面router-view里面
          component:组件配置变量
        }
      ]
    }
 
]4步:实例化路由对象
let router = new VueRouter({
  // routes:routes    // routes 简写
  routes,
          linkActiveClass:"active",
          mode:"hash/history"
})5步:挂载到Vue实例
new Vue({
el:"",
data:{},
// router:router  // 简写
router
})6步:书写router-view
<div  id="app">
  <router-view/>
</div>7步:使用router-link 进行跳转
<router-link to="/地址">
// 酌情给分

请说明在vue中组件之间如何进行数据传递?

1.父子组件 在子组件的标签上定义一个变量,:变量=‘传的值’,在子级中使用props接收变量 2.子父组件 在子组件中写一个事件,事件中使用this. e m i t ( ‘ 自 定 义 事 件 名 ’ , ’ 数 据 ’ ) ; 在 父 级 中 的 子 标 签 上 使 用 @ 自 定 义 事 件 = ‘ 父 级 事 件 ’ 来 接 收 3. 兄 弟 组 件 创 建 一 个 新 的 v u e 实 例 v a r t r a n s = n e w V u e ( ) 在 组 件 一 中 : t r a n s . emit(‘自定义事件名’,’数据’);在父级中的子标签上使用@自定义事件 = ‘父级事件’来接收 3.兄弟组件 创建一个新的vue实例 var trans = new Vue() 在组件一中:trans. emit()使@=3.vuevartrans=newVue()trans.on(‘事件’,(n)=>{console.log(n) }) 在组件二中:trans.$emit(‘事件’,’发送的数据’)(写在2的事件中)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李看前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值