美文网首页
Vue面试锦集

Vue面试锦集

作者: 随感_ | 来源:发表于2018-09-12 09:03 被阅读0次

    1.Vue有哪几种导航钩子
    vue-router 提供的导航钩子主要用来拦截导航,让它完成跳转或取消。
    1.全局的 beforeEach(to,from,next)
    2.单个路由独享的 beforeEnter(to,from,next)
    3.组件级的beforeRouteEnter beforeRouteUpdate (2.2 新增) beforeRouteLeave
    详参
    2.Vue的双向数据绑定原理是什么
    详参
    vue实现双向数据绑定的原理就是利用了 Object.defineProperty() 这个方法重新定义了对象获取属性值(get)和设置属性值(set)的操作来实现的。Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。它接收三个参数,要操作的对象,要定义或修改的对象属性名,属性描述符。重点就是最后的属性描述符。
    属性描述符是一个对象,主要有两种形式:数据描述符和存取描述符。这两种对象只能选择一种使用,不能混合两种描述符的属性同时使用。上面说的get和set就是属于存取描述符对象的属性。
    然后我们可以通过在存取描述符中的get和set方法内写入自定义的逻辑来实现对象获取属性和设置属性时的行为。

    3.对Vue生命周期的理解
    4.什么是MVVM
    model-view-viewmodel,MVVM是一种设计思想,model代表数据模型,也可以在model中定义数据修改和操作的数据逻辑,view代表UI组件,它负责将数据模型转换成UI展现出来,viewmodel是一个负责同步view和model的对象。
    在MVVM框架中,view和model没有直接的联系,是通过viewmodel来进行交互的,model和viewmodel的交互是双向的。view的数据变化会同步在model中,model的数据变化也会在view中展现出来。
    viewmodel通过双向数据绑定将view层和model层连接在一起,而且model和view之间是同步是自动的,因此只需要关注业务逻辑,不需要手动操作DOM,复杂的数据状态维护完全靠MVVM来统一管理。
    5.MVC和MVVM之间的区别,他和其他框架的区别是什么
    两者其实区别不大,都是一种设计思想,最主要的区别就是MVVM将MVC中的controller变成viewmodel,解决了MVC中大量的DOM操作使得页面渲染性能降低,加载速度变慢,影响用户体验。
    区别:Vue是数据驱动,通过数据来显示视图层而不是节点操作。更适合数据操作比较多的情况下。
    6.组件之间的传值
    有两种,父组件---》子组件和子组件-----》父组件
    父组件通过标签上定义传值,子组件通过props接收数据
    子组件通过$emit方法传递函数
    7.路由之间的跳转
    声明式(标签)和编程式(js)
    8.Vue中怎么使用自定义组件
    第一步:在components目录新建你的组件文件(indexPage.vue),script一定要export default {}
    第二步:在需要用的页面(组件)中导入:import indexPage from '@/components/indexPage.vue'
    第三步:注入到vue的子组件的components属性上面,components:{indexPage}
    第四步:在template视图view中使用,
    例如有indexPage命名,使用的时候则index-page
    9.vuex是什么 怎么使用 哪种场景中使用
    Vue框架中状态管理,在main.js中引入store,注入。新建一个目录store。
    应用场景:单页应用,组件之间的状态,音乐播放,登录状态,加入购物车
    10.vuex有哪几种属性
    有五种 state mutation getter action module
    10.js继承的实现方式
    原型链继承:将父类的实例作为子类的原型
    构造继承:使用副类的构造函数来增强子类实例,等于是复制父类的实例属性给子类
    实例继承:为父类实例添加新特性,作为子类实例返回
    拷贝继承:支持多继承
    组合继承:通过调用父类构造,继承父类的属性并保留传参的有点,然后通过将父类实例作为子类原型,实现函数复用
    寄生组合继承:通过寄生方式,砍掉父类的实例属性,这样,在调用两次父类的构造的时候,就不会初始化两次实例方法/属性,避免的组合继承的缺点。
    详参

    相关文章

      网友评论

          本文标题:Vue面试锦集

          本文链接:https://www.haomeiwen.com/subject/pwztcftx.html