vue项目美食杰 -- 发布菜谱
不知不觉间,vue美食杰项目已经实现了很多了,我都有点始料未及呢,今天进行的部分呢,是项目中的发布菜谱功能,在这个页面中,我们会学习到前后端的交互,Element-ui的使用等等。。。
先看下效果图:
第一部分:
第二部分:
第三部分:
第一部分:使用Element-ui来实现页面布局和样式,调用后台接口请求到数据渲染到页面上
将请求来的数据赋值给data定义的属性,渲染到页面上
getProperty().then(({ data }) => {console.log(data);this.propertyies = data;console.log(this.propertyies);this.backData.property = data.reduce((o, item) => {o[item.title] = "";return o;}, {});// console.log(data);// console.log(this.backData);}),
<h5>标题</h5><el-input class="create-input" placeholder="请输入内容" v-model="backData.title"></el-input><h5>属性</h5><div><el-selectv-for="item in propertyies":key="item.parent_type"v-model="backData.property[item.title]":placeholder="item.parent_name"><el-optionv-for="option in item.list":key="option.type":value="option.type":label="option.name"@click="add"></el-option></el-select></div>
第二部分:因为使用了Element-ui组件,并且需要将输入的内容发送给后端,结合Elementui的官网,需要设置一个固定的数据结构,这里是定义在data中的数据结构,并进行了一些处理:
backData: {title: "",property: {}, classify: "",product_pic_url: 'https://s1.c.meishij.net/n/images/upload_big_img.png?=1561906961', // 成品图URLproduct_story: '', // 成品图故事raw_material: {// 料main_material: Array(3).fill(1).map(()=>({... raw_materia_struct})), // 主料accessories_material: Array(3).fill(1).map(()=>({... raw_materia_struct})) // 辅料},steps: Array(3).fill(1).map(()=>({...steps_struct}))},
这里我使用了子组件:
<section class="create-introduce"><h5>主料</h5><Stuff v-model="backData.raw_material.main_material"></Stuff><h5>辅料</h5><Stuff v-model="backData.raw_material.accessories_material"></Stuff></section>
stuff.vue:
<div class="stuff"><div class="clearfix"><div class="raw-item"><el-input placeholder="请输入内容" style="width: 200px" ></el-input><el-input placeholder="请输入内容" style="width: 100px" ></el-input><i class="delete-icon el-icon-close" ></i></div></div><el-button class="eaeaea" type="primary" size="medium" icon="el-icon-plus">增加一项</el-button></div>
在这个组件中进行数据的保存,功能的操作,但需要注意的是最终都是需要在父组件中进行,
这里定义添加和删除的功能操作:
methods:{add(){// this.$emit('input',[// ...this.value,// {"name":'',"specs":''}// ])this.value.splice(index,1)},remove(index){const newValue=this.value.filter((item,i)=>{return i!==index})this.$emit('input',newValue)}}
}
第三部分,主要是提交发布功能,步骤图功能和第二部分 一致,点击添加,点击删除,只剩一个时不可删除,所以这里展示提交功能:
点击提交时,将收集到的数据整体通过后端接口发送回后端。菜谱就发送成功了,完事。
祝生活安好。。
vue项目美食杰 -- 发布菜谱相关推荐
- vue项目美食杰菜谱大全实现(三)
接上篇,vue项目美食杰菜谱大全已经实现,今天来说一下菜单详情的实现 分析: 这个菜单详情页面,考验的知识很少,基本都是拿数据渲染 分为4大部分,四个组件: 1.detail: detail组价: 根 ...
- vue项目美食杰菜谱大全实现(二)
接上篇,vue项目美食杰菜谱大全实现 效果图 分析: 整体分为三大部分 1.先实现菜谱分类头部实现 (1)先实现家常菜谱中华菜系和各地小吃的实现,通过后端获取到数据,渲染页面(2)再实现第一部中的每一 ...
- vue 美食杰 发布菜谱
文章目录 header.vue create.vue stuff.vue step-upload.vue upload-img.vue header.vue <router-link to=&q ...
- vue项目美食杰菜谱大全实现
效果图 分析 1.先实现菜谱分类头部实现 (1)先实现家常菜谱中华菜系和各地小吃的实现 (2)再实现第一部中的每一项 2.实现左边筛选中的功能 (1)先实现工艺,口味,难度,人数 (2)实现第一步中包 ...
- vue项目美食杰--菜谱大全
项目已经接近尾声了,难度也随之增加,不过,世上无难事,只要肯登攀,遇到困难,打倒它,然后在遇到更大的困难..当然了,在这个过程中我们的技术和心理素质也会逐步的提高..今天分享一个小小难度的部分,菜谱大 ...
- 美食杰-发布菜单(完整版)
一,效果展示 二,效果概要 1.获取数据 2.数据渲染 3.赋值数据 4.点击提交审核 三,技术掌握 1.熟悉element组件库 2.掌握vue-cli脚手架 3.掌握vue-router路由 4. ...
- vue项目 构建 打包 发布 三部曲
一.vue项目的创建 1.首先第一肯定是要有Node.js及npm这个不多说了 2.安装脚手架 此时可以直接浏览-但是现在肯定有很多小白想将他发布到gitHub上并可以浏览,使用vue全家桶制作自己的 ...
- Vue 项目的成功发布和部署
最近一直在尝试对 Vue 项目进行打包和发布,发现通过 npm run build 打包生成的 dist 文件不能直接放到服务器下面进行部署,否则会出现以下问题: 究其原因是,无法正确找到相关 js ...
- Vue 项目创建并发布
1.# 全局安装 vue-cli npm install vue-cli -g // 如果还没安装 2.# 创建一个基于 webpack 模板的新项目 vue init webpack myproje ...
最新文章
- AndroidStudio脚本命令指定AAR生成目录与版本号
- 赛思互动:初次上线CRM的企业如何将系统用起来、用好?
- 个人信息泄露,背后竟有“内鬼”作祟,堵上网络安全漏洞
- java学习与总结:多线程与并发
- STM32F4读写内部FLASH【使用库函数】
- M.2 固态硬盘的两种类型:SATA 和 NVMe 的区别?
- 计算矢量面积_航天器轨道参数计算推导
- 二元树中和为某一值的所有路径
- Docker最全教程——从理论到实战(九)
- javascript window.open
- spring cloud单点登录
- python使用pymysql连接mysql_python3使用PyMysql连接mysql数据库的简单示例
- 腾讯云对象存储 python_腾讯云对象存储(COS)服务的 API
- 最近完成的一个可伸缩性的WEB开发框架
- 信息安全技术期末复习总结
- 请修改服务器脱机策略,异速联/天高客户端用户已离线但服务器端用户会仍话驻留处理方法...
- 【matlab图像处理】图像直方图操作和matlab画图
- 乐理:十二平均律与大小调
- 【linux浅谈017】gbd调试常用指令
- 微信订阅出现errMsg“:“requestSubscribeMessage:fail can only be invoked by user TAP gesture 解决方案
热门文章
- (求助) 关于多视点背景建模的序列
- 声纹识别技术五大发展趋势总结
- Ubuntu16.04下为Titan RTX 安装显卡驱动、CUDA、cudnn
- 使用OpenCV实现人脸图像卡通化
- 小学计算机应聘简历,小学教师求职简历【三篇】
- CVPR2022《TransMix: Attend to Mix for Vision Transformers》
- 贝店要怎么进去买东西?贝店邀请码18497848
- Qt给给软件添加背景音乐
- [drp 6]接口和抽象类的区别,及其应用场景
- Fluke ADPT连接器给福禄克万用表插上翅膀----直流电压测量