苍穹外卖项目前端DAY01

前端DAY01

1、基于脚手架创建前端工程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用Vue CLI创建前端工程:

  • 方式一:vue create 项目名称
  • 方式二:vue ui(比较慢)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2、vue基本使用方法

Vue的组件文件以.vue结尾,每个组件由三个部分组成:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

文本差值

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

属性绑定

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

事件绑定

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

双向绑定

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

条件渲染

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

axios

axios是一个基于promise的网络请求库,作用于浏览器和node.js中

安装命令

  • npm install axios

导入命令

  • import axios from ‘axios’

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3、路由 Vue-Router

3.1、Vue-Router介绍

vue属于单页面应用,所谓的路由,就是根据浏览器路径不同,用不同的视图组件替换这个页面内容

  • 路由组成:
    • VueRouter:路由器,根据路由请求在路由视图中动态渲染对应的视图组件
    • :路由链接组件,浏览器回解析成
    • :路由视图组件,用来展示与路由路径匹配的视图组件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.2、路由配置
  • 路由跳转
    • 标签式About
    • 编程式this.$router.push('/about')

3.3、嵌套路由

组件内要切换内容,就需要用到嵌套路由(子路由)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 实现步骤:
    • 安装并导入elementui,实现页面布局(Container布局容器)—ContainerView.vue
    • 提供子视图组件,用于效果展示 – P1View.vue、P2View.vue、P3View.vue
    • 在src/router/index.js中配置路由映射规则(嵌套路由配置)
    • 在布局容器视图中添加,实现子视图组件展示
    • 在布局容器视图中添加,实现路由请求

4、状态管理vuex

4.1、vuex介绍
  • vuex是一个专为Vue.js应用程序开发的状态管理库
  • vuex可以在多个组件之间共享数据,并且共享的数据是响应式的,即数据的变更能及时渲染到模版
  • vuex采用集中式存储管理所有组件的状态

安装vuex

npm install vuex@next --save

核心概念:

  • state:状态对象,集中定义各个组件共享的数据
  • mutations:类似于一个事件,用于修改共享数据,要求必须是同步函数
  • actions:类似于mutation,可以包含异步操作,通过调用mutation来改变共享数据
4.2、使用方式
  • 创建带有vuex功能的脚手架工程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 定义和展示共享数据

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在mutations中定义函数,修改共享数据

  • 调用mutations中的函数

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在actions中定义函数,用于调用mutation

总结:如何使用vuex?

  • 在store对象的state属性中定义共享数据
  • 在store对象的mutations属性中定义修改共享数据的函数
  • 在store对象的actions属性中定义调用mutation的函数,可以进行异步操作
  • mutations中的函数不能直接调用,只能通过store对象的commit方法调用
  • actions中定义的函数不能直接调用,只能通过store对象dispatch方法调用

5、TypeScript

5.1、 TypeScript介绍
  • TypeScript(简称:TS)是微软退出的开源语言

  • TypeScript是JavaScript的超集(JS有的TS都有)

  • TypeScript = Type + JavaScript(在Js基础上增加了类型支持)

  • TypeScript文件扩展名为ts

  • TypeScript可编译成标准的JavaScript,并且在编译时进行类型检查

TS为什么要增加类型支持?

  • TS属于静态类型编程语言,JS属于动态类型编程语言
  • 静态类型在编译期做类型检查,动态类型在执行期做类型检查
5.2、TypeScript常用类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 类型标注的位置
    • 标注变量
    • 标注参数
    • 标注返回值

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 字符串类型、数字类型、布尔类型

  • 字面量类型

  • Interface类型

  • class类-基本使用

注意:使用class关键字来定义类,类中可以包含属性、构造方法、普通方法

  • class类 - 实现接口

  • class类 - 类的继承


D/%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/%E8%8B%8D%E7%A9%B9%E5%A4%96%E5%8D%96%E9%A1%B9%E7%9B%AE%E5%89%8D%E7%AB%AFDAY01.assets/image-20240901101520013.png" alt="image-20240901101520013" style="zoom:50%;" />

### 苍穹外卖前端开发技术栈及框架使用教程 #### Vue.js 的优势及其在苍穹外卖中的应用 Vue.js 是一种渐进式 JavaScript 框架,适用于构建用户界面。其核心库专注于视图层,并且非常容易学习和集成到现有项目中。对于苍穹外卖这样的复杂应用来说,Vue.js 提供了组件化的开发模式,使得开发者可以更高效地管理代码结构并提高可维护性[^1]。 ```javascript // 创建一个简单的 Vue 实例 new Vue({ el: '#app', data() { return { message: '欢迎来到苍穹外卖!' } }, }); ``` #### Element UI 组件库助力快速搭建美观界面 为了进一步简化开发流程并确保一致性的设计风格,苍穹外卖选择了 Element UI 这一基于 Vue.js 构建的强大组件库。通过利用预定义好的按钮、表格等常用控件,团队能够在短时间内实现高质量的设计效果,同时减少重复劳动的时间成本。 ```html <!-- 使用 Element UI 表格展示订单列表 --> <el-table :data="orderList"> <el-table-column prop="id" label="ID"></el-table-column> <el-table-column prop="name" label="商品名称"></el-table-column> </el-table> <script> export default { name: 'OrderTable', props: ['orderList'] } </script> ``` #### 微信小程序扩展业务覆盖范围 除了传统的 Web 应用外,苍穹外卖还特别针对中国市场的特点推出了微信小程序版本。这不仅让用户可以直接从小程序入口进入平台享受服务,而且也降低了新用户的获取门槛——他们不需要额外安装任何应用程序就能立即体验完整的购物流程。 ```json { "pages": [ "pages/index/index", "pages/orderDetail/orderDetail" ], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "苍穹外卖", "navigationBarTextStyle": "black" } } ``` #### 数据可视化增强决策支持能力 最后,在后台管理系统部分引入 Apache ECharts 来处理各种统计数据的呈现工作。ECharts 支持丰富的图表类型以及高度定制化的配置选项,可以帮助运营人员更好地理解销售趋势和其他重要指标变化情况,从而做出更加明智的战略调整。 ```javascript var myChart = echarts.init(document.getElementById('main')); option = { title: { text: '每日销售额' }, tooltip: {}, xAxis: { data: ["周一","周二","周三","周四","周五"]}, yAxis: {}, series: [{ type: 'bar', data: [5, 20, 36, 10, 10] }] }; myChart.setOption(option); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值