电商后台项目:问题回答话术
- 用到了哪些技术栈?
- 登录的相关知识点?
- git命令相关操作
- :model 和 v-model 的区别
- Element-ui 的 Message 组件要全局挂载
- 未登录时跳转
- vscode设置保存自动格式化
- element-ui的组件中
- scope作用域插槽
- 问题
- vue-table-with-tree-grid的使用
- 级联选择框
- 快捷键
- split
- 问题:$nextTick
- 过滤器用于过滤毫秒时间
- 问题:使用upload上传组件
- 插入富文本编辑器
- lodash深拷贝的使用
- Echarts的使用
- 添加进度条nprogress的使用
- 项目优化策略
- 自定制webpack的配置
- 通过externals加载外部CDN资源
- 路由懒加载
- node服务器、gzip压缩、HTTP服务
用到了哪些技术栈?
1.前端:
- vue
- vue-router
- element-ui(前端组件库)
- axios(发起请求)
- Echarts(绘制图形报表)
2.后端:
- node.js
- express
- Jwt(状态保持工具)
登录的相关知识点?
- http是无状态的:在HTTP这个级别,协议对于发送过的请求和响应都不做持久化处理。
持久化:
- 使用cookie和session(前端和服务器之间,不存在跨域问题)
- token(存在跨域的问题)
git命令相关操作
- git status (当前目录是否干净)
- git checkout -b + 分支名字 (创建并新的分支)
- git branch (查看当前项目所在分支)
- git add . (修改的代码存到暂存区)
- git commit -m “写提交的消息的内容” (暂存区的代码提交到本地仓库中)
- git merge + 新内容分支 (在旧分支里把新分支合并到里面,是旧分支也变成最新的)
- git push (把当前分支推送到码云)
- git push -u origin + 新起的远程仓库名字 (在远程仓库建立新分支,并把当前仓库的内容推送到该远程分支)
:model 和 v-model 的区别
<input v-model="message"> =
<input v-bind:value="message" v-on:input="message = $event.target.value" />
上面这个例子中,
v-bind:value="message"
只是将message变量的值赋给了input的value,
并没有双向绑定,再此声明一下以防混淆
v-model是vue.js中内置的双向数据绑定指令,
用于表单控件以外的标签是不起作用的
(即只对表单控件标签的数据双向绑定有效)。
:model相当于v-bind:model的缩写,
v-bind动态绑定指令,默认情况下标签自带属性的值是固定的,
这种只是将父组件的数据传递到了子组件,并没有实现子组件和父组件数据的双向绑定。
当然引用类型除外,子组件改变引用类型的数据的话,父组件也会改变的。
Element-ui 的 Message 组件要全局挂载
把Message组件挂载到Vue的原型上,所有的组件都可用$message来进行使用。
Vue.prototype.$message = Message
未登录时跳转
在全局前置导航守卫中next()也可以传路由地址
在用户未登录时,使用此跳转到登录页面不如使用编程式导航。
router.replace({
name: 'login',
query:{
redirect: router.currentRoute.fullPath
}
})
编程式导航可以使用query参数携带当前页面的地址,在登录成功后可以回到当前页面。router.currentRoute.fullPath
vscode设置保存自动格式化
在根目录下添加.prettierrc文档,内容如下:
{
"semi": false, //不加分号
"singleQuote": true //字符串双引号变单引号
"printWidth": 200 //这一行最多显示多少字符
}
element-ui的组件中
有的组件的index的值不能为数字,那就给数字内容拼接一个空字符。
因为 string + number 存在隐式转换 都转换成string
scope作用域插槽
<el-table-column label='状态' prop='mg_state'>
<template v-slot='scope'>
{
{
scope.row}