zoukankan      html  css  js  c++  java
  • Vue面试题总结

    组件之间传值
    父传子通过属性传递,子组件通过props接收数据
    子传父通过方法传递,子组件通过$emit触发自定义方法并且传递信息
    非父子通过事件总线bus进行传值,传递使用emit触发事件,接收使用on注册事件


    Vue双向数据绑定的原理
    采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的 setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。


    Vuex刷新页面数据丢失
    监听页面刷新事件,在刷新前将store中的数据存储到sessionstorge中。每次进入页面的时候先读取 sessionstorage中的值并把它赋给store,这样就保留了刷新前的数据。


    TCP三次握手(建立连接)
    1)客户端向服务端发送连接请求(发送SYN包,进入SYN-SEND状态)
    2)服务端接收到连接请求后,同意向客户端建立连接(发送ACK-SYN包,进入SYN-RCVD状态)
    3)客户端接收到服务端的同意后,与服务端确认建立连接
    TCP四次挥手(连接释放)
    1)客户端向服务端发送断开连接请求(FIN=1,进入FIN-WAIT-1状态)(第一次挥手)
    2)服务端接收到断开请求后,同意向客户端断开连接,但是还有数据在传输,要等数据先传输完,所以 先告知客户端收到断开请求了(进入CLOSE-WAIT状态)(第二次挥手)
    3)服务端数据传输完成后,告知客户端,要关闭连接了(第三次挥手)
    4)客户端接收到服务端的断开连接消息后,告知服务端已收到断开连接的消息(第四次挥手)


    如何判断一个数组是数组
    1.instanceof
    2.Array.isArray()
    3.Object.prototype.toString.call(arr)


    如何修改UI组件中的样式
    方式一:在当前新加一个style标签,不和前一个style标签冲突scoped
    方式二:穿透(父元素 /deep/ 子元素)
    方式三:穿透(父元素 >>>(不支持less) 子元素)


    移动端开发环境如何在手机上测试
    vue项目中package.json/scripts/"dev"中加上 --host + 局域网IP(要求手机和电脑在同一个局域网)


    为什么组件中的data是一个函数
    因为组件是可复用的实例,而组件不管被复用多少次data中的数据都应该是相互隔离的,如果是对象,
    那所有的组件都将共享一个数据对象,只要有一个参数被修改,则所有的组件都会受影响

    $route和$router有什么区别
    $route:路由参数对象,所有路由参数(params,query)
    $router:路由导航对象(路由跳转)


    路由有哪几种导航钩子,分别是什么
    第一种:全局导航钩子
    beforeEach、afterEach、beforeResolve
    第二种:组件内的钩子
    beforeRouteEnter、beforeRouterUpdate、beforeRouteLeave
    第三种:单个路由独享的钩子
    beforeEnter(路由配置中设置)


    Vue安装包的时候 -D -S 有什么区别
    -S安装包会在package中的dependencies对象中,即生产环境
    -D安装包会在package中的devDependencies对象中,即开发环境


    单页面应用的优缺点
    交互体验好,前后端分离,减轻服务器压力
    不利于SEO,首屏加载慢,不适合开发大型项目

  • 相关阅读:
    Python 爬虫简介
    Python 线程池(小节)
    Python platform 模块
    Python term 模块
    python 统计使用技巧
    ArcGIS中的WKID(转)
    c#二维码资料
    How to remove live visual tree?
    新书预告 ArcGIS跨平台开发系列第一本
    visual studio 中删除多余的空白行
  • 原文地址:https://www.cnblogs.com/myongchuang/p/12426806.html
Copyright © 2011-2022 走看看