Vue--项目开发之实现tabbar功能来学习单文件组件2
上一篇文章里item.vue里的span标签内容是写死了,但是我们不希望写死
所以对于五个tab选项的标题需要从外部传入,也就说
需要在item.vue里的script里写上
export default {
props:['txt']
}
这里我定义了txt作为外部接收标题的标志
然后在span标签里写
<span>{{txt}}</span>
再接着:去到helloworld.vue文件里可以将div改写如下:
<div class="tabbar">
<item txt="首页"></item>
<item txt="分类"></item>
<item txt="发现"></item>
<item txt="购物车"></item>
<item txt="我的考拉"></item>
</div>
这样就可以通过父组件传递txt内容到子组件item文件里了 然后我们还要将选项对应的图片也有外部传递不写死
<span v-show="bol"><slot name="normalimg"></slot><br/></span>
<span v-show="!bol"><slot name="activeimg"></slot><br/></span>
在item.vue里的div里写上两个具名槽口,这样方便父组件里传递点击和未点击的两种图片
接着就是通过v-show指令来控制显隐两种图片,bol参数需要在script里定义
export default {
props:['txt'],
data:function () {
return{
bol:false
}
}
}
最后在父组件里就要调用槽口来传递图片了
<div class="tabbar">
<item txt="首页">
<img src="../assets/img/hot5.gif" alt="" slot="normalimg"/><br/>
<img src="../assets/img/hot6.gif" alt="" slot="activeimg"/><br/>
</item>
<item txt="分类">
<img src="../assets/img/hot5.gif" alt="" slot="normalimg"/><br/>
<img src="../assets/img/hot6.gif" alt="" slot="activeimg"/><br/>
</item>
<item txt="发现">
<img src="../assets/img/hot5.gif" alt="" slot="normalimg"/><br/>
<img src="../assets/img/hot6.gif" alt="" slot="activeimg"/><br/>
</item>
<item txt="购物车">
<img src="../assets/img/hot5.gif" alt="" slot="normalimg"/><br/>
<img src="../assets/img/hot6.gif" alt="" slot="activeimg"/><br/>
</item>
<item txt="我的考拉">
<img src="../assets/img/hot5.gif" alt="" slot="normalimg"/><br/>
<img src="../assets/img/hot6.gif" alt="" slot="activeimg"/><br/>
</item>
</div>
Vue--项目开发之实现tabbar功能来学习单文件组件2的更多相关文章
- Vue--项目开发之实现tabbar功能来学习单文件组件1
创建好一个Vue项目后,我们进入项目里,点开src文件下的components文件里的helloworld.vue 文件.清空初始数据.然后开始编写. 一个.vue文件初始格式为以下三部分(组件三部曲 ...
- webpack搭建vue项目开发环境【文档向学习】
为何有这篇文章 各个社区已经有无数篇帖子介绍如何使用webpack搭建前端项目,但无论是出于学习webpack的目的还是为了解决工作实际需要都面临着一个现实问题,那就是版本更新.别人的帖子可能刚写好版 ...
- Vue项目开发相关问题总结
Vue项目开发相关问题总结 一.创建一个项目(两种方式) 1.通过CLI命令行创建,具体步骤如下: (1)Node 版本要求 Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11 ...
- Vue 项目开发
目录 Vue 项目开发 项目目录结构解析 入口文件 main.js (项目入口) 根组件 app.vue index.html 文件入口 router 路由 components 子组件 项目初始化 ...
- Vue项目开发最新、最全代码规范文档
Vue项目开发最新.最全代码规范文档 2019年02月21日 10:43:49 yw00yw 阅读数 337 一. 目录结构 |— build 构建脚本目录 |— build.js 生产环境构建( ...
- Vue项目中添加锁屏功能
0. 直接上 预览链接 Vue项目中添加锁屏功能 1. 实现思路 ( 1 ) 设置锁屏密码 ( 2 ) 密码存localStorage (本项目已经封装h5的sessionStorage和localS ...
- vue第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期)
第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期) #课程目标 掌握安装 vue-cli 命令行工具的方法,掌握使用命令行在本地搭建开发环境,使用命令行 ...
- webpack入坑之旅(五)加载vue单文件组件
这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...
- Vue单文件组件
前面的话 本文将详细介绍Vue单文件组件 概述 在很多 Vue 项目中,使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '}) 在每个页 ...
随机推荐
- crontab 定时执行python脚本
每天8点30分运行命令/tmp/run.sh * * * /tmp/run.sh 每两小时运行命令/tmp/run.sh */ * * * /tmp/run.sh
- 常见的Java面试题及答案整理
1. 基础篇 1. 面向对象特征:封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内部的数据.在 Java 当中,有 3 种修饰符: p ...
- Python3 数据库连接
PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中使用mysqldb. 数据库连接 连接数据库前,请先确认一下事项: 已经创建数据库testdb. 在test ...
- SQL中的float类型的数据
问题1. 如何在SQL中默认的使用float类型的数据 SQL中想要通过计算的方式最快的得到一个float类型的数据,只需要运算的其中一个值后面加上小数点就ok. 比如 :9/2=4 但是 :9/2 ...
- leecode第四十三题(字符串相乘)
class Solution { public: string multiply(string num1, string num2) { ";//特殊情况 ] == ] == ') retu ...
- tomcat去除项目名部署
实现方式及原理: 方式一: 原理:Tomcat的默认根目录是ROOT,实际上ROOT这个项目在实际生产环境是没有用的,所以我们可以用我们的项目覆盖ROOT项目 操作过程: 1.删除ROOT下所有文件及 ...
- 关于MySQL大量数据分页查询优化
select * form user id in(select id from user limit 1000000,10);
- 数据结构(C语言版)-第3章 栈和队列
3.1 栈和队列的定义和特点3.2 案例引入3.3 栈的表示和操作的实现3.4 栈与递归3.5 队列的的表示和操作的实现3.6 案例分析与实现 基本操作有入栈.出栈.读栈顶元素值.建栈.判断栈满.栈空 ...
- one-class logistic regression (OCLR)
ONE-CLASS DETECTION OF CELL STATES IN TUMOR SUBTYPES Machine Learning Identifies Stemness Features A ...
- 如何通过ssh远程登录内网的Mac和Linux系统?
神器:ngrok 用法很简单,安装后 验证授权: ./ngrok authtoken 3WWujp1TEtHRo6rphEi5Y_7MBqGWm9yThCSFyqEHgip 在内网开启tcp服务 ng ...