文章目录
- Vue
-
- 1. 什么都是前后端分离开发?它的优劣是啥?
- 2.什么是跨域?
- 3.为什么会有跨域问题?
- 4.什么是cors?
- 5. nginx搭建静态资源服务器
- 6.token和session的区别
- 7.发送请求时,toke是不是自动携带到请求头中?
- 8.vue的好处
- 9.localStorage和cookie有什么区别?
- 10.vue中this关键字的用法
- 11.location.search的作用是什么?
- 12.阐述一下js中的回调地狱\回调炼狱
- 13.如何解决js中的回调地狱问题?
- 14.{}和[]都是样式中的特殊用法
- 15. Vue中有哪些钩子函数?作用是什么? Vue的生命周期
- 16.vue中做数据渲染的时候如何保证将数据原样输出?
- 17.vue中methods和computed有什么区别?应用场景如何?
- 18.Vue中如何处理原生的DOM事件?
- 19.Vue中父子组件是如何传值的?
- 20.Vue中有哪些事件修饰符?各有什么作用
- 21.vue中有哪些指令?
- Redis
Vue
1. 什么都是前后端分离开发?它的优劣是啥?
优点
前端专门负责前端页面和特效的编写
后端专门负责后端业务逻辑的处理
前端追求的是页面美观、页面流畅、页面兼容等
后端追求的是三高(高并发、高可用、高性能)
让他们各自负责各自的领域,让专业的人负责处理专业的事情缺点:
1 当接口发生改变的时候,前后端都需要改变
2 当发生异常的时候,前后端需要联调–联调是非常浪费时间的
2.什么是跨域?
当两个系统之间的域名不同、子域名不同、协议不同、端口不同、域名和ip地址,等都会引起跨域问题
3.为什么会有跨域问题?
浏览器的同源策略引起跨域问题,浏览器的同源策略只要是防止ajax攻击
跨域不一定会一起跨域问题
比如:
1 跨域没有引起跨域问题:script脚本的src不受同源策略影响
比如<script src=""> <img src="">
2 跨域引起了跨域问题: 跨域只要是针对ajax请求的
3 跨域的解决方案: a. jsonp–>
最早的跨域解决方案,它的特点:只能接收get请求,而且必须必须提供getMapping的方法 b. nginx–>
反向代理,解决跨域问题 c. cors–>当下的 标准的解决方案,它是w3c颁布的规范
4.什么是cors?
cors就是w3c提供的一套跨域解决方案,他需要浏览器和服务器同时支持
目前,主流的浏览器都支持cors跨域,无需开发者设置
而目前服务器需要通过过滤器的方式来配置跨域请求方案
在过滤器中,可以配置允许请求的url地址,以及允许该url地址发送哪些具体的请求(get,post,put,delete),这些请求,都是允许用户去配置
5. nginx搭建静态资源服务器
每个大型的项目都有搭建nginx集群,所有用户访问的服务器,是先经过nginx,然后再向后端服务器发起请求
6.token和session的区别
token和session没有关系
token只是一个32位的UUID:SSSSSSSSUDUDUDUDUDUUDUDUDUD
session是浏览器与服务器的一次会话,在这次会话中包含多次的request(请求)
7.发送请求时,toke是不是自动携带到请求头中?
在vue中,使用axios发送ajax请求,所以在axios允许携带信息,
代码如下:axios.defaults.headers[‘Authorization’] = ‘Bear poiuytrrewqasdfghjkll’
8.vue的好处
双向数据绑定
具体实现过程: 双向数据绑定只存在于form表单元素中 首先双向数据的绑定需要通过 v-model 来将数据关联起来,其次在
data 中一定要定义好通过 v-model 关联的数据,Vue 在实现数据监听只能够监听到 data 中的数据,如果在 data
中没有定义该数据,那么将无法实现监听 ,同时也无法实现表单的双向数据绑定
9.localStorage和cookie有什么区别?
- localStorage全部浏览器都支持,cookie全部浏览器也都支持
- localStorage可以存储5m的大小,cookie存储4kb的大小
- localStorage都是以字符串的方式存储,所以存储内容是json的时候,未来存储这个数据或者使用这个数据的时候需要使用JSON转化
10.vue中this关键字的用法
1 this代表当前的vm对象,访问属性的时候,可以借助this.属性,相当于就vm.属性访问
2 在html标签中,访问vue的属性的时候,不能加this关键字
3 // 匿名函数,此时this就指当前的function函数,所以通过this.goodsInfo访问的不是vue的data数据,所以会失败
getGoodsInfo(this.skuid).then(function(res){
console.log(res.data)
// 此处的赋值 为什么会失败