问:何为scoped?
在vue文件中的style标签上,有一个特殊的属性:scoped。当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组件元素。通过该属性,可以使得组件之间的样式不互相污染。如果一个项目中的所有style标签全部加上了scoped,相当于实现了样式的模块化。
原理:style中设置scoped后Vue会自动在当前template的子div中加上一个自定义属性。然后利用属性选择器对页面实现局部样式的设置。
JavaScript原型,原型链?有什么特点?
每个对象都会在其内部初始化一个属性,就是prototype(原型)
当我们去访问一个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去prototype里面找这个属性,这个属性prototype就会有自己的prototype。
就这样一层一层的寻找,也就是我们平时所说的原型链的概念。
Vue.js过滤器的基本使用(filter)
第一种是全局过滤器,我们可以直接在vue对象上使用filter方法注册过滤器,这种全局注册的过滤器在任何一个组件内都可以使用。
第二种则是组件内部的过滤器,注册组件内部过滤器则只能在当前组件内使用。
什么是跨域问题
前端调用的后端接口不属于同一个域(域名或端口不同),就会产生跨域问题,也就是说你的应用访问了该应用域名或端口之外的域名或端口。
1、什么是跨域跨域的产生来源于现代浏览器所通用的‘同源策略’,所谓同源策略,是指只有在地址的:1.协议名 websocket-client端通过ws协议向websocket-server端发起连接请求前,首先在自己的请求头中添加Sec-Websocket-Key键值对,值为根据自己账号通过一定的方式生成的字符串,client端发送自己的key后,server端取出并保存该字符串后,将该字符串与魔法字符串拼接后先后经过sha1、base64加密后获得与此client端的通信密钥保存并发送给client端,client端在本地保存此通信密钥,此时server端与client端完成握手。通信过程:
server端或client端在收到加密信息(字节类型)后,将加密信息的第二个字节与进行与位运算,根据位运算的结果分为=、=、=三种情况,根据不同的位运算结果分别取出其掩码(mask)部分和数据部分,将掩码部分与数据进行^(异或)运算即得到真实的数据(字节类型),根据编码类型进行解码后即得到可读性的数据。
描述一下你的小程序开发流程
1、开发环境搭建---申请账号,安装开发者工具hbuilderX,他有支持小程序的模块,很小巧的一款编译器
2、设置重要参数(appid)
3、小程序的目录结构。
project.config.json:小程序的配置文件,包含项目打包配置、上传代码自动压缩等等,是一些开发、打包之类的配置。
app.json:当前项目的配置文件。包括项目的页面引入、导航条颜色、导航条标题等等,是项目具体到代码开发上的配置。介绍几个配置:
pages:包含的页面。每次新增页面都得在这里引入,否则新页面的json配置等无法生效。注意pages中页面先写的先渲染,所以数组第一条也就是我们的首页。
window:配置所有页面导航条字体、颜色、背景色等
app.js:小程序入口文件。生成小程序实例,App({}),通常在这获取用户信息、授权信息、定义全局变量等。
app.wxss:小程序全局style文件。对整个项目页面生效。通常规定项目的字体、基础颜色,定义一些公共样式。
utils:工具函数目录。通常用来放一些公共的js方法。比如封装的request请求,一些别的处理数据什么的方法。
pages:小程序的页面目录。所有的小程序页面,都写在这里面。
3、接下来就是实现路由跳转,封装wx.request()请求数据,
4、使用npm安装插件之类
Axios的其他突出特点包括:
拦截请求和响应。
使用promise转换请求和响应数据。
自动转换JSON数据。
取消实时请求。
axios实现拦截main.js中设置统一拦截,axios.interceptors
//