vue 饿了么项目笔记
vue 饿了么项目
1.图标字体引用
2.scss 二三倍图切换 1像素边框
3.better-scroll
4.布局
商品主页面
<div id="app">
<v-header :seller='seller'></v-header>
<div class="tab">
<div class="tab-item">
<router-link to="/goods">商品</router-link>
</div>
<div class="tab-item">
<router-link to="/ratings">评价</router-link>
</div>
<div class="tab-item">
<router-link to="/seller">商家</router-link>
</div>
</div>
<keep-alive>
<router-view :seller='seller'></router-view>
</keep-alive>
</div>
主页面包含头部,三个tab菜单切换。头部在页面切换时通用。每个菜单下router-view都有通用商家信息,通过props动态传入seller数据给各个子组件。
<router-view :seller='seller'></router-view>
1.header.vue组件
<template>
<div class="header">
<!-- 头部内容 -->
<div class="content-wrapper">
<div class="avatar"></div>
<div class="content"></div>
<div class="supports_count" @click="showDetail(true)"></div>
</div>
<!-- 公告栏 -->
<div class="bulletin-wrapper" @click="showDetail(true)">
<span class="bulletin-title"></span>
<span class="bulletin-text"></span>
<span class="icon-keyboard_arrow_right"></span>
</div>
<!-- 背景 -->
<div class="background"></div>
<!-- 头部详细页面 -->
<transition name="fade">
<div class="detail" v-show="detailShow">
<div class="detail-main">
<div class="name"></div>
<div class="star-wrapper"></div>
<div class="title"></div>
<div class="supports"></div>
<div class="title"></div>
<div class="content"></div>
</div>
<div class="detail-close" @click="showDetail(false)"></div>
</div>
</transition>
</div>
</template>
公告栏一行多余字体省略
.bulletin-wrapper{
position: relative;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
.bulletin-title{ //span元素转为行内块元素 为了可以使用width height控制图标大小
display: inline-block;
vertical-align: middle;
@include bg-image("bulletin");
}
.bulletin-text{
}
.icon-keyboard_arrow_right //字体图标绝对定位
position absolute
top: 9px
right 2px
}
头部详细页面点击显示和隐藏
<div class="supports_count" v-if="seller.supports" @click="showDetail(true)">
<div class="detail-close" @click="showDetail(false)">
<transition name="fade">
<div class="detail" v-show="detailShow">
//内容
</div>
</transition>
data () {
return {
detailShow: false
}
},
methods: {
showDetail (isShow) {
this.detailShow = isShow
}
},
Vue只有在插入,更新或者移除DOM元素时才会应用过渡效果。
使用vue提供的transition来封装组件成为过渡组件,transition需要与如下情景中的任一种一起使用:
v-if(条件渲染)
v-show(条件展示)
动态组件
在组建的根节点上,并且被vue实例DOM方法触发,如appendTo方法把组件添加到某个根节点上
组件过渡过程中,会有四个CSS类名进行切换,这四个类名与上面transition的name属性有关,比如name="fade",会有如下四个CSS类名:
fade-enter:进入过渡的开始状态,元素被插入时生效,只应用一帧后立即删除;
fade-enter-active:进入过渡的结束状态,元素被插入时就生效,在过渡过程完成之后移除;
fade-leave:离开过渡的开始状态,元素被删除时触发,只应用一帧后立即删除;
fade-leave-active:离开过渡的结束状态,元素被删除时生效,离开过渡完成之后被删除;
从上面四个类名可以看出,fade-enter-active和fade-leave-active在整个进入或离开过程中都有效,所以CSS的transition属性在这两个类下进行设置。
上面示例中,fade-enter和fade-leave-active类设置CSS为opacity:0,说明过渡刚进入和离开的时候透明度为0,即不显示。
vue 饿了么项目笔记的更多相关文章
- vue饿了么学习笔记(1)vue-cli开启项目
一.vue-cli介绍 vue-cli是vue的脚手架工具 ----> 帮助写好vue.js基础代码的工具: ① 搭建目录结构 ② 进行本地调试 ③ 进行代码部署 ④ 热加载 ⑤ 进行单元测试 ...
- 项目笔记-vue
记录新建vue项目之后的种种. 2019年3月12日,从git上下载了一个vue后台模板的项目,git地址:https://github.com/lin-xin/vue-manage-system ( ...
- Vue常用经典开源项目汇总参考-海量
Vue常用经典开源项目汇总参考-海量 Vue是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的 ...
- Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid
Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid 上一步获取QQ登录网址之后,测试登录之后本该跳转到这个界面 但是报错了: 新建oauth_callback.html & ...
- Django商城项目笔记No.10用户部分-登录接口
Django商城项目笔记No.10用户部分-登录接口 添加url路由 接下来第二步,增加返回内容: 增加结果如下: 配置:上边的方法定义了返回的内容都有哪些,那这个方法jwt还不知道,需要配置: 修改 ...
- Django商城项目笔记No.5用户部分-注册接口-短信验证码
Django商城项目笔记No.4用户部分-注册接口-短信验证码 短信验证码也保存在redis里(sms_code_15101234567) 在views中新增SMSCodeView类视图,并且写出步骤 ...
- Django商城项目笔记No.1项目准备工作
Django商城项目笔记No.1项目准备工作 一.本项目商城属于B2C商业模式 二.项目采用前后端分离的应用模式 前端使用Vue.js 后端使用Django REST framework 1.创建gi ...
- 【前端】Vue.js经典开源项目汇总
Vue.js经典开源项目汇总 原文链接:http://www.cnblogs.com/huyong/p/6517949.html Vue是什么? Vue.js(读音 /vjuː/, 类似于 view) ...
- Vue.js经典开源项目汇总
Vue.js经典开源项目汇总 原文链接:http://www.cnblogs.com/huyong/p/6517949.html Vue是什么? Vue.js(读音 /vjuː/, 类似于 view) ...
随机推荐
- 2016-04-25-信息系统实践手记6-JS调用Flex的性能问题一例
layout: post title: 2016-04-25-信息系统实践手记6-JS调用Flex的性能问题一例 key: 20160425 tags: GIS JS FLEX 技术选型 性能 API ...
- python爬虫之天气预报网站--查看最近(15天)的天气信息(正则表达式)
python爬虫之天气预报网站--查看最近(15天)的天气信息(正则表达式) 思路: 1.首先找到一个自己想要查看天气预报的网站,选择自己想查看的地方,查看天气(例:http://www.tianqi ...
- rabbitMQ模式
1.hello 消息生产者p将消息放入队列 消费者监听队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列删除(隐患,消息可能没有被消费者正确处理,已经消失了,无法恢复) 应用场景:聊天室 案 ...
- Python3 Selenium多窗口切换
Python3 Selenium多窗口切换 以腾讯网(http://www.qq.com/)为例,打开腾讯网,点击新闻,打开腾讯新闻,点击新闻中第一个新闻链接. 在WebDriver中封装了获取当前窗 ...
- Sublime Text 2 配置PHP调试环境(在windows环境下)
1:PHP安装,配置环境变量 PHP安装略过- 2:下载Sublime Text 2 下载地址:http://www.sublimetext.com/2 ,选择自己合适的版本 3:点击 sublime ...
- windowsserver2019系统下载
windowsserver2019系统分为标准版和数据中心版,两个版本和windows2012,2016一样没有64位系统,点击下载windowsserver2019系统.
- S/4 HANA中的MATDOC和MATDOC_EXTRACT
最近做了销售和物料管理方面的一些需求,因此对S/4中的MM的数据模型有了一定的了解.目前网络已经有一些介绍物料凭证表MATDOC的文章,内容好像不是很详细,另外也没发现介绍库存变更数据表MATDOC_ ...
- PHP服务器Apache与Nginx的对比分析
PHP服务器Apache与Nginx的对比分析 本篇文章给大家带来的内容是关于PHP服务器Apache与Nginx的对比分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Apach ...
- SQL Alias(别名)
通过使用 SQL,可以为列名称和表名称指定别名(Alias). SQL Alias 表的 SQL Alias 语法 SELECT column_name(s) FROM table_name AS a ...
- c#窗体获取系统时间、回车触发按钮事件、实现验证码功能
1.窗体上显示时间: 1)首先新建一个Timer,命名为timer,并在属性中修改Interval为1000: 2)在需要显示时间的地方添加一个label(假设设置名称为:timerLabel): 3 ...