不知不觉间,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项目美食杰 -- 发布菜谱相关推荐

  1. vue项目美食杰菜谱大全实现(三)

    接上篇,vue项目美食杰菜谱大全已经实现,今天来说一下菜单详情的实现 分析: 这个菜单详情页面,考验的知识很少,基本都是拿数据渲染 分为4大部分,四个组件: 1.detail: detail组价: 根 ...

  2. vue项目美食杰菜谱大全实现(二)

    接上篇,vue项目美食杰菜谱大全实现 效果图 分析: 整体分为三大部分 1.先实现菜谱分类头部实现 (1)先实现家常菜谱中华菜系和各地小吃的实现,通过后端获取到数据,渲染页面(2)再实现第一部中的每一 ...

  3. vue 美食杰 发布菜谱

    文章目录 header.vue create.vue stuff.vue step-upload.vue upload-img.vue header.vue <router-link to=&q ...

  4. vue项目美食杰菜谱大全实现

    效果图 分析 1.先实现菜谱分类头部实现 (1)先实现家常菜谱中华菜系和各地小吃的实现 (2)再实现第一部中的每一项 2.实现左边筛选中的功能 (1)先实现工艺,口味,难度,人数 (2)实现第一步中包 ...

  5. vue项目美食杰--菜谱大全

    项目已经接近尾声了,难度也随之增加,不过,世上无难事,只要肯登攀,遇到困难,打倒它,然后在遇到更大的困难..当然了,在这个过程中我们的技术和心理素质也会逐步的提高..今天分享一个小小难度的部分,菜谱大 ...

  6. 美食杰-发布菜单(完整版)

    一,效果展示 二,效果概要 1.获取数据 2.数据渲染 3.赋值数据 4.点击提交审核 三,技术掌握 1.熟悉element组件库 2.掌握vue-cli脚手架 3.掌握vue-router路由 4. ...

  7. vue项目 构建 打包 发布 三部曲

    一.vue项目的创建 1.首先第一肯定是要有Node.js及npm这个不多说了 2.安装脚手架 此时可以直接浏览-但是现在肯定有很多小白想将他发布到gitHub上并可以浏览,使用vue全家桶制作自己的 ...

  8. Vue 项目的成功发布和部署

    最近一直在尝试对 Vue 项目进行打包和发布,发现通过 npm run build 打包生成的 dist 文件不能直接放到服务器下面进行部署,否则会出现以下问题: 究其原因是,无法正确找到相关 js ...

  9. Vue 项目创建并发布

    1.# 全局安装 vue-cli npm install vue-cli -g // 如果还没安装 2.# 创建一个基于 webpack 模板的新项目 vue init webpack myproje ...

最新文章

  1. AndroidStudio脚本命令指定AAR生成目录与版本号
  2. 赛思互动:初次上线CRM的企业如何将系统用起来、用好?
  3. 个人信息泄露,背后竟有“内鬼”作祟,堵上网络安全漏洞
  4. java学习与总结:多线程与并发
  5. STM32F4读写内部FLASH【使用库函数】
  6. M.2 固态硬盘的两种类型:SATA 和 NVMe 的区别?
  7. 计算矢量面积_航天器轨道参数计算推导
  8. 二元树中和为某一值的所有路径
  9. Docker最全教程——从理论到实战(九)
  10. javascript window.open
  11. spring cloud单点登录
  12. python使用pymysql连接mysql_python3使用PyMysql连接mysql数据库的简单示例
  13. 腾讯云对象存储 python_腾讯云对象存储(COS)服务的 API
  14. 最近完成的一个可伸缩性的WEB开发框架
  15. 信息安全技术期末复习总结
  16. 请修改服务器脱机策略,异速联/天高客户端用户已离线但服务器端用户会仍话驻留处理方法...
  17. 【matlab图像处理】图像直方图操作和matlab画图
  18. 乐理:十二平均律与大小调
  19. 【linux浅谈017】gbd调试常用指令
  20. 微信订阅出现errMsg“:“requestSubscribeMessage:fail can only be invoked by user TAP gesture 解决方案

热门文章

  1. (求助) 关于多视点背景建模的序列
  2. 声纹识别技术五大发展趋势总结
  3. Ubuntu16.04下为Titan RTX 安装显卡驱动、CUDA、cudnn
  4. 使用OpenCV实现人脸图像卡通化
  5. 小学计算机应聘简历,小学教师求职简历【三篇】
  6. CVPR2022《TransMix: Attend to Mix for Vision Transformers》
  7. 贝店要怎么进去买东西?贝店邀请码18497848
  8. Qt给给软件添加背景音乐
  9. [drp 6]接口和抽象类的区别,及其应用场景
  10. Fluke ADPT连接器给福禄克万用表插上翅膀----直流电压测量