盈立数智有限公司

vue

vue2的原理

(没反应过来是什么原理,所以就都答一下,当时我只答了响应式原理)
1.MVVM原理
全称: Model-View-ViewModel , Model 表示数据模型层。 view 表示视图层, ViewModel 是 View 和 Model 层的桥梁,数据绑定到 viewModel 层并自动渲染到页面中,视图变化通知 viewModel 层更新数据。
2.响应式原理
vue2: Object.defineProperty 重新定义 data 中所有的属性, Object.defineProperty 可以使数据的获取与设置增加一个拦截的功能,拦截属性的获取,进行依赖收集。拦截属性的更新操作,进行通知。
具体的过程:首先Vue使用 initData 初始化用户传入的参数,然后使用 new Observer 对数据进行观测,如果数据是一个对象类型就会调用 this.walk(value) 对对象进行处理,内部使用 defineeReactive 循环对象属性定义响应式变化,核心就是使用 Object.defineProperty 重新定义数据

vue的双向绑定

!注意区别和响应式原理
双向数据绑定通常是指我们使用的v-model指令的实现,是Vue的一个特性,也可以说是一个input事件和value的语法糖。 Vue通过v-model指令为组件添加上input事件处理和value属性的赋值。当我们修改input输入框中的值时,我们通过v-model绑定的值也会同步修改,基于上述原理,我们可以很容易的实现一个数据双向绑定的组件。

Vue组件通信,子组件如何传给父组件

  • 父子间通信:父亲通过属性props传给儿子;儿子通过$son 绑定父亲的事件,再通过$emit触发自己的事件
  • 利用父子关系 $parent,$children 获取父子组件示例的方法
  • 父组件提供数据,子组件注入。proviede,inject 插件用的多
  • ref 获取组件示例,调用组件的属性,方法
  • 跨组件通信 event bus,基于on和emit
  • vuex 状态管理实现通信

v-if和v-show的区别

  • 控制手段:v-show隐藏则是为该元素添加css–display:none,dom元素依旧还在。v-if显示隐藏是将dom元素整个添加或删除
  • 编译过程:v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;v-show只是简单的基于css切换
  • 编译条件:v-if是真正的条件渲染,它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。只有渲染条件为假时,并不做操作,直到为真才渲染
    v-show 由false变为true的时候不会触发组件的生命周期
    v-if由false变为true的时候,触发组件的beforeCreate、create、beforeMount、mounted钩子,由true变为false的时候触发组件的beforeDestory、destoryed方法
    使用场景:
    性能消耗:v-if有更高的切换消耗;不需要频繁切换的时候用。v-show相反

vue路由有几种,区别是什么

Hash模式

  • URL中#后面的内容作为路径地址
  • 监听hashchange事件
  • 根据当前路由地址找到对应组件重新渲染

history模式:

  • 通过history.pushState()方法改变地址栏
  • 监听popstate事件
  • 根据当前路由地址找到对应组件重新渲染
  • 通过history.pushState,通过history.replaceState:不会触发popstate

通过history.pushState改变地址栏,监听popstate事件并不是history的专利,hash模式也能使用

http

http的方法(请求方法)

1.get:获取资源
2.post:传输资源,通常会造成服务器的修改
3.Head:获得报文首部
4.put:更新资源
5.patch:对Put的补充
6.delete:删除资源
7.options:列出资源支持的请求方法,用来跨域请求
8.tarce:追踪请求/响应路径,用于测试或诊断
9.connect:将连接改为管道方式用于代理服务器

get的安全性能比post差在哪里

原因:GET没有POST安全,因为GET请求参数直接暴露在URL上,所以不能用来传递敏感信息
补充两者的区别:

  • GET在浏览器回退时是无害的,而POST会再次发起请求
  • GET请求会被浏览器主动缓存,而POST不会,除非手动设置
  • GET请求参数会被安逗保留在浏览器历史记录里,而POST中的参数不会被保留
  • GET请求在URL中传递的参数有长度限制(浏览器限制大小不同),而POST没有限制
  • GET参数通过URL传递,POST放在Request body中
  • GET产生的URL地址可以被收藏,而POST不可以
  • GET请求只能进行URL编码,而POST支持多种编码方式
  • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制
  • GET产生一个TCP数据包,POST产生两个数据包(Firefox只发一次)。GET浏览器把 http header和data一起发出去,响应成功200,POST先发 送header,响应100 continue,再发送data,响应成功200

对https的了解

HTTPS 是超文本传输安全协议,即HTTP + SSL/TLS。说白了,就是一个加强版的HTTP
https是需要申请证书的,而http免费
https是加密传输,http是明文传输

css

对盒子模型的了解

  1. IE盒子模型:有外边距margin和width(包括content,border,padding。)
  2. 标准盒子模型:margin,padding,content,border
  3. 常用标准盒子模型,标准盒子设置为ie需添加属性:box-sizing:border-box

flex居中

父元素添加display:flex,justify-content::center,aline-item:center

有几种定位

absolute:绝对定位
relative:相对定位
stick:粘性定位
fix:固定定位

实现子盒子在父盒子居中

子绝父相,再加上transform的translate

node

node和小程序用什么框架

express,uni-app

怎么部署到服务器

  1. 先上传云端数据库
  2. 在node文件夹的js文件中进行连接
  3. 在app.js中更改腾讯云开放的端口