1. Vue项目axios跨域
跨域问题出现,使用webpack-dev-server的proxy功能处理
1. 将请求地址改为本地开发服务的域下,并加入暗号
2. 在config/index.js->dev->proxyTable中进行暗号的匹配
2.Vue路由原理:
就是通过检测地址栏变化后将对应的路由组件进行切换(卸载和安装)
3.vue的坑
将store注册到根组件下,我们可以在组件下写this.$store.state来访问到state对象,但是这样是有问题的我们会发现进入有items数据的页面后,数据并没有被渲染出来,而是等到切换页面,在切换回来的时候才会被渲染出来,因此问题就在应该把store中的数据放在computed下而不是data下
当我们在路由中配置了不同的router-link对应于不同的组件的时候,会发现npm run dev 之后空白页,解决办法就是重定向path中的值,而不是component中的值
4.git
写代码的地方就叫工作区(红色),可把工作区的代码提交到暂存区中,如果暂存区中的代码没问题,就提交到版本区,而SVN属于工作区直接提交到版本区,如果提交错了也回不来了。
git add . 把多个文件提交暂存区(绿色)
git commit -m (是版本详细信息)
用git status (查看工作区)查看nothing to commit working tree clean(工作区是干净的就代表提交成功)
如果文件发生改变后git status 会报红modified+文件名,这时要直接提交到版本区用git commit -a -m +注释
git log查看所有上传的版本,第一行commit 加哈希值,然后显示作者邮箱啥的,后面会有:显示,打回车就会都显示直到end,打quiet退出,通过git log你可以看到版本id想回退到哪个版本就找对应id。
git diff 工作区和暂存区的对比可以看到前后差异 +后的代码就是新添加的(绿色的)红色的就是减掉的代码,差别明显
git diff --cached (暂存区与版本区对比)报绿色的就是新添加的差异,git diff master 工作区与版本区的对比
git reset HEAD+文件名 从暂存区撤回工作区
git checkout -- 文件名 从工作区撤销到上次提交的版本区
git remote (查看远程仓库的名字) -v 查看远程地址origin(远程仓库的名字)
git push origin master(推送到远程仓库)git push -u origin master -f (强制推送到远程仓库)
git fetch (从远程获取但不与当前代码合并) git pull (从远程获取并与当前合并)git diff master(查看两个分支的异同)
5.typeof 与 instanceof有啥区别
typeof用来判断变量的数据类型。 instanceof用来判断某个对象是否 属于父类型。
6.src和href区别
src用于替换当前元素,href用于在当前文档和引用资源之间建立联系
7.vue-loader
vue-loader 是 webpack 的一个 loader,用于处理 .vue 文件。可以把不是js的文件转换为js。
8.动态组件怎么做
通过使用保留的<component>元素,动态的绑定到它的is特性,可以实现动态组件
9.什么是动态组件
多个组件使用同一个挂载点,并动态切换,这就是动态组件。
10.了解哪些Vue加密
1.MD5加密(简化的哈希加密 ,64位加密)
先项目根目录下安装npm install --save js-md5
在main.js中将md5转换成vue原型
import md5 from "js-md5"
Vue.prototype.$md5 = md5
在需要的文件中写 this.$md5 ("hello")
2 base64加密
项目根目录下安装npm install --save js-base64
在项目文件中引入
let Base64 = require('js-base64').Base64;
11.对箭头函数的看法
箭头函数不会自动绑定局部变量,所以箭头函数没有它自己的this值,箭头函数内的this值继承自外围作用域,在箭头函数中调用this时,仅仅是简单的沿着作用域链向上寻找 ,找到最近的一个this来使用,箭头函数的this,通常指向其上下文的this,任何方法都改变不了指向。箭头函数可以绑定this对象,大大减少了call apply bind 显式绑定this的写法,但是箭头函数不是适合所有的场合