header组件的使用方法
这次给大家带来header组件的使用方法,使用header组件的注意事项有哪些,下面就是实战案例,一起来看一下。
一、 header 组件开发 之数据的传递
1. App.vue 引入组件import header from './components/header/header'2. App.vue 中注册组件 export default {components:{v-header:header} }3. 使用组件<v-header :sell="sellerObj"></v-header>解释::sell="sellerObj",这里就像一个函数传参一样把sell当成形参,sellerObj就是实参,那么父组件实参是怎么传给子组件的,通过什么传
4. 父组件向子组件传递数据
在父组件中需要将sellerObj作为数据导出,子组件通过props从父组件中获得数据,且要指定数据类型export default { props:{ // 子组件获取 父组件 数据 sell:{type:Object // 传递的类型} } }小结:
子组件在props中创建一个属性,用以接收父组件传过来的值
父组件中注册子组件
在子组件标签中添加子组件props中创建的属性
把需要传给子组件的值赋给该属性
5. 调用数据<p>细节问题:
support 绑定数据时 加 v-if ='sell.supports'
理由 : 在我们通过axios获取数据前在父组件中创建了一个空的对象sellerObj 先传给子组件,开始 没有数据传送过去就会报错 underfined,加上 v-if ,接受不到数据就不会解析,也就不会报错。
二、 header 组件弹出层(详情)
1.弹出遮罩层
(1) 设置一个状态,判断该状态控制显示隐藏data (){ return { detailShow:false }}<p v-if="detailShow">(2) 绑定点击事件,通过methods 方法改变 状态,控制显隐效果<p>2. 星级评分
(1) 绑定class 控制星级大小的类型// 利用 computed 属性<p>(2) 遍历星星的数量
复制代码 代码如下:
<span v-for="itemClass in itemClasses" :class="itemClass">(3) 定义常量 控制 每个星的状态// 类名用变量存起来const LENGTH = 5 // 星星长度const CLS_ON = 'on' // 全星const CLS_HALF = 'half' // 半星const CLS_OFF = 'off'// 空星(4) 通过计算 判断每个span 的类型itemClasses () { // 返回一个数组为每个span 的类名 (遍历)let spanClassList=[];// 利用 实参评分来判断 有几颗全星,半星,空星 let scores=( Math.floor(this.score * 2) ) / 2let intNum= Math.floor(scores); // 全星个数let HashalfNum= scores % 1 !== 0// 半星 for(var i=0;i<intNum;i++){ // 遍历全星的span spanClassList.push(CLS_ON) } if(HashalfNum){ // 如果有半星 加类名 spanClassList.push(CLS_HALF) } while(spanClassList.length<LENGTH){// 判断 是否有空星 及个数 spanClassList.push(CLS_OFF) }return spanClassList;}}(5) 通过 动态绑定class 来 给span 加类名<p>相信看了本文案例你已经掌握了方法,更多精彩请关注小潘博客其它相关文章!
推荐阅读:
微信小程序开发图片压缩功能
js动态操作表格
JS中Object对象的原型的使用方法
360浏览器兼容模式的页面显示不全怎么处理以上就是header组件的使用方法的详细内容,更多请关注小潘博客其它相关文章!