day05 - 商品管理 (参数管理+商品添加,前端面试必刷的200道真题

{

confirmButtonText: ‘确认删除’,

cancelButtonText: ‘取消’,

type: ‘warning’

}

).catch(err => err)

//如果用户点击确认,则confirmResult 为’confirm’

//如果用户点击取消, 则confirmResult获取的就是catch的错误消息’cancel’

if (confirmResult != ‘confirm’) {

return this.$message.info(‘已经取消删除’)

}

//没有取消就是要删除,发送请求完成删除

const {data:res} = await this. h t t p . d e l e t e ( ‘ g o o d s / http.delete(`goods/ http.delete(goods/{goods_id}`)

if (res.meta.status !== 200) {

return this.$message.error(‘删除商品失败’)

}

this.$message.success(‘删除商品成功’)

this.getGoodsList()

}

4.添加商品

在这里插入图片描述

A.添加编程式导航

在List.vue中添加编程式导航,并创建添加商品路由组件及规则

//在List.vue中添加编程式导航

<el-button type=“primary” @click=“goAddPage”>添加商品

goAddPage(){

this.$router.push(‘/goods/add’)

}

在router.js中引入goods/Add.vue,并添加路由规则

import GoodAdd from ‘./components/goods/Add.vue’

path: ‘/home’, component: Home, redirect: ‘/welcome’, children: [

{ path: “/welcome”, component: Welcome },

{ path: “/users”, component: Users },

{ path: “/rights”, component: Rights },

{ path: “/roles”, component: Roles },

{ path: “/categories”, component: Cate },

{ path: “/params”, component: Params },

{ path: “/goods”, component: GoodList },

{ path: “/goods/add”, component: GoodAdd }

]

B.布局Add.vue组件

布局过程中需要使用Steps组件,在element.js中引入并注册该组件,并在global.css中给组件设置全局样式

import {Steps,Step} from ‘element-ui’

Vue.use(Step)

Vue.use(Steps)

//global.css

.el-steps{

margin:15px 0;

}

.el-step__title{

font-size: 13px;

}

然后再在Add.vue中进行页面布局

添加商品

首页

商品管理

添加商品

<el-cascader expandTrigger=‘hover’ v-model=“addForm.goods_cat” :options=“cateList” :props=“cateProps” @change=“handleChange” clearable>

C.添加tab栏切换验证

也就是说不输入某些内容,无法切换到别的tab栏

//首先给tabs添加tab切换前事件

//再到methods编写事件函数beforeTabLeave

beforeTabLeave(activeName,oldActiveName){

//在tab栏切换之前触发,两个形参为切换前,后的tab栏name

if(oldActiveName === ‘0’){

//在第一个标签页的时候

if(this.addForm.goods_cat.length !== 3){

this.$message.error(‘请选择商品的分类’)

return false

}else if(this.addForm.goods_name.trim() === ‘’){

this.$message.error(‘请输入商品名称’)

return false

}else if(this.addForm.goods_price.trim() === ‘0’){

this.$message.error(‘请输入商品价格’)

return false

}else if(this.addForm.goods_weight.trim() === ‘0’){

this.$message.error(‘请输入商品重量’)

return false

}else if(this.addForm.goods_number.trim() === ‘0’){

this.$message.error(‘请输入商品数量’)

return false

}

}

}

D.展示信息

展示商品参数信息,商品属性信息

在商品参数信息展示中使用的el-checkbox,el-checkbox-group组件,打开element.js引入组件并注册组件

//在用户点击tab栏时触发事件

<el-tabs v-model=“activeIndex” :tab-position=“‘left’” :before-leave=“beforeTabLeave” @tab-click=“tabClicked”>

//在参数信息,商品属性面板中添加循环生成结构的代码

//在data数据中添加保存动态参数和静态属性的数组

export default {

data() {

return {

//动态参数列表

manyTableData: [],

//静态属性列表

onlyTableData:[]

}

},methods: {

async tabClicked() {

//当用户点击切换tab栏时触发

if (this.activeIndex === ‘1’) {

//发送请求获取动态参数

const { data: res } = await this.$http.get(

categories/${this.cateId}/attributes,

{ params: { sel: ‘many’ } }

)

if (res.meta.status !== 200) {

return this.$message.error(‘获取动态参数列表失败’)

}

//将attr_vals字符串转换为数组

res.data.forEach(item => {

item.attr_vals =

item.attr_vals.length === 0 ? [] : item.attr_vals.split(’ ')

})

this.manyTableData = res.data

} else if (this.activeIndex === ‘2’) {

//发送请求获取静态属性

const { data: res } = await this.$http.get(

categories/${this.cateId}/attributes,

{ params: { sel: ‘only’ } }

)

if (res.meta.status !== 200) {

return this.$message.error(‘获取静态属性列表失败’)

}

this.onlyTableData = res.data

}

}

},

//添加 计算属性获取三级分类

computed: {

cateId() {

if (this.addForm.goods_cat.length === 3) {

return this.addForm.goods_cat[2]

}

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

ES6

  • 列举常用的ES6特性:

  • 箭头函数需要注意哪些地方?

  • let、const、var

  • 拓展:var方式定义的变量有什么样的bug?

  • Set数据结构

  • 拓展:数组去重的方法

  • 箭头函数this的指向。

  • 手写ES6 class继承。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

微信小程序

  • 简单描述一下微信小程序的相关文件类型?

  • 你是怎么封装微信小程序的数据请求?

  • 有哪些参数传值的方法?

  • 你使用过哪些方法,来提高微信小程序的应用速度?

  • 小程序和原生App哪个好?

  • 简述微信小程序原理?

  • 分析微信小程序的优劣势

  • 怎么解决小程序的异步请求问题?

其他知识点面试

  • webpack的原理

  • webpack的loader和plugin的区别?

  • 怎么使用webpack对项目进行优化?

  • 防抖、节流

  • 浏览器的缓存机制

  • 描述一下二叉树, 并说明二叉树的几种遍历方式?

  • 项目类问题

  • 笔试编程题:

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

微信小程序

  • 简单描述一下微信小程序的相关文件类型?

  • 你是怎么封装微信小程序的数据请求?

  • 有哪些参数传值的方法?

  • 你使用过哪些方法,来提高微信小程序的应用速度?

  • 小程序和原生App哪个好?

  • 简述微信小程序原理?

  • 分析微信小程序的优劣势

  • 怎么解决小程序的异步请求问题?

其他知识点面试

  • webpack的原理

  • webpack的loader和plugin的区别?

  • 怎么使用webpack对项目进行优化?

  • 防抖、节流

  • 浏览器的缓存机制

  • 描述一下二叉树, 并说明二叉树的几种遍历方式?

  • 项目类问题

  • 笔试编程题:

最后

技术栈比较搭,基本用过的东西都是一模一样的。快手终面喜欢问智力题,校招也是终面问智力题,大家要准备一下一些经典智力题。如果排列组合、概率论这些基础忘了,建议回去补一下。

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值