### [header组件的使用方法](https://www.prosaas.cn/article/17681) **Published:** 2018-03-23T02:39:54 **Author:** 5201314 **Excerpt:** 这次给大家带来header组件的使用方法,使用header组件的注意事项有哪些,下面就是实战案例,一起来看一下… 这次给大家带来header组件的使用方法,使用header组件的注意事项有哪些,下面就是实战案例,一起来看一下。 **一、 header 组件开发 之数据的传递** 1\. App.vue 引入组件 import header from './components/header/header' 2\. App.vue 中注册组件  export default {    components:{      v-header:header    }  } 3\. 使用组件 解释::sell="sellerObj",这里就像一个函数传参一样把sell当成形参,sellerObj就是实参,那么父组件实参是怎么传给子组件的,通过什么传 4\. 父组件向子组件传递数据 在父组件中需要将sellerObj作为数据导出,子组件通过props从父组件中获得数据,且要指定数据类型 export default {  props:{ // 子组件获取 父组件 数据  sell:{   type:Object // 传递的类型   }  }  } 小结: 1. 子组件在props中创建一个属性,用以接收父组件传过来的值 2. 父组件中注册子组件 3. 在子组件标签中添加子组件props中创建的属性 4. 把需要传给子组件的值赋给该属性 5\. 调用数据 {{sell.name}}

  {{sell.description + '/' + sell.deliveryTime + '分钟送达'}}

细节问题: support 绑定数据时 加 v-if ='sell.supports' 理由 : 在我们通过axios获取数据前在父组件中创建了一个空的对象sellerObj 先传给子组件,开始 没有数据传送过去就会报错 underfined,加上 v-if ,接受不到数据就不会解析,也就不会报错。 **二、 header 组件弹出层(详情)** **1.弹出遮罩层** (1) 设置一个状态,判断该状态控制显示隐藏 data (){  return {  detailShow:false  } }

(2) 绑定点击事件,通过methods 方法改变 状态,控制显隐效果

  

methods:{  showDetails () {   this.detailShow=true  },  hideDetail () {  this.detailShow=false  } } **2\. 星级评分** (1) 绑定class 控制星级大小的类型 // 利用 computed 属性

computed: {  starSizeType() { // 返回 星级的大小类型 48/36/24   return 'star-' + this.size;  } } (2) 遍历星星的数量 复制代码 代码如下: (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) ) / 2   let intNum= Math.floor(scores); // 全星个数   let HashalfNum= scores % 1 !== 0  // 半星  for(var i=0;i (5) 通过 动态绑定class 来 给span 加类名

 

相信看了本文案例你已经掌握了方法,更多精彩请关注知企PROSAAS其它相关文章! 推荐阅读: 微信小程序开发图片压缩功能 js动态操作表格 JS中Object对象的原型的使用方法 360浏览器兼容模式的页面显示不全怎么处理 以上就是header组件的使用方法的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** 后端开发 ---