# vshop **Repository Path**: fxzer/vshop ## Basic Information - **Project Name**: vshop - **Description**: 微品汇:Vue+ElementUI 后台管理项目 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 1 - **Created**: 2021-12-11 - **Last Updated**: 2023-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: Vue ## README ## 一、微品汇后台管理项目 **安装依赖**:`npm i` **启动项目**:`npm start`或`npm run dev` ## 二、技术栈 ``` Vue全家桶、ElementUI、axios、Echarts ``` ## 三、项目收获 > 练习完这个项目,从老师那里收获了不少编程小技巧。 例如: - `v-if`与`v-else`中间不能有任何节点,否则失效! 1. ```js //给 获取品牌列表数据函数 设页码默认值, async getTradeList(curPage = 1){ this.loading = true // 获取品牌列表接口 this.page = curPage let {page ,limit} = this let result = await this.$API.trademark.reqTradeMarkList(page,limit) // 请求成功 if(result.code == 200){ this.total = result.data.total this.tradeList = result.data.records this.loading = false }else{ this.loading = flase } }, ``` 2. ```html ``` 3. ```js updateDone(){ // 表单验证 this.$refs.tradeFormRef.validate( async (valid) =>{ if(valid){ this.fullscreenLoading = true let res = await this.$API.trademark.reqAddOrReqUpdate(this.tradeForm) this.fullscreenLoading = false if(res.code == 200){ this.$message({ type:'success', message:'修改品牌成功!' }) } this.closeDialog() //修改完当前行后,重新传递原本页码 this.getTradeList(this.page) } }) }, ``` 4.在一个数组中筛选另一个数组不存在的项 ```js // 计算未选择销售属性数组 noSelectAttr(){ // 过滤 let noSelectList = this.spuSaleAttrList.filter(item=>{ return this.spuForm.spuSaleAttrList.every(item1 =>{ return item.name !== item1.saleAttrName }) }) return noSelectList }, // 计算未选择销售属性数组长度 noSelectAttrLength(){ return this.noSelectAttr.length } //绑定处理技巧0 :placeholder=" `还有 ${noSelectAttrLength} 个销售属性未选择`" ``` 5.利用value收集id、name两个数据 ```html 添加销售属性 ```