时间:2021-07-01 10:21:17 帮助过:9人阅读
一、 header 组件开发 之数据的传递
1. App.vue 引入组件
2. App.vue 中注册组件
3. 使用组件
<v-header :sell="sellerObj"></v-header>
解释::sell="sellerObj",这里就像一个函数传参一样把sell当成形参,sellerObj就是实参,那么父组件实参是怎么传给子组件的,通过什么传
4. 父组件向子组件传递数据
在父组件中需要将sellerObj作为数据导出,子组件通过props从父组件中获得数据,且要指定数据类型
小结:
子组件在props中创建一个属性,用以接收父组件传过来的值
父组件中注册子组件
在子组件标签中添加子组件props中创建的属性
把需要传给子组件的值赋给该属性
5. 调用数据
<p class="logo"> <img :src="sell.avatar" alt="" width='64' height='64'/> </p> <span class="name">{{sell.name}}</span> <p class="description"> {{sell.description + '/' + sell.deliveryTime + '分钟送达'}} </p>
细节问题:
support 绑定数据时 加 v-if ='sell.supports'
理由 : 在我们通过axios获取数据前在父组件中创建了一个空的对象sellerObj 先传给子组件,开始 没有数据传送过去就会报错 underfined,加上 v-if ,接受不到数据就不会解析,也就不会报错。
二、 header 组件弹出层(详情)
1.弹出遮罩层
(1) 设置一个状态,判断该状态控制显示隐藏
<p v-if="detailShow" class="detail"></p>
(2) 绑定点击事件,通过methods 方法改变 状态,控制显隐效果
<p class="bulletin-wrapper" @click="showDetails()" ></p> <p class="detail-close" v-if="sell.supports"> <i class="icon-close" @click="hideDetail()"></i> </p>
2. 星级评分
(1) 绑定class 控制星级大小的类型
// 利用 computed 属性 <p class="star" :class="starSizeType"></p>
(2) 遍历星星的数量
代码如下:
<span v-for="itemClass in itemClasses" :class="itemClass" class="star-item" track-by="$index"></span>
(3) 定义常量 控制 每个星的状态
(4) 通过计算 判断每个span 的类型
(5) 通过 动态绑定class 来 给span 加类名
<p class="star" :class="starSizeType"> <span v-for="itemClass in itemClasses" :class="itemClass" class="star-item" track-by="$index"></span> </p>
相关推荐:
jQuery在header中设置请求信息实例详解
php通过header发送自定义数据详解
php的header的用法总结
以上就是Vue header组件开发实例代码的详细内容,更多请关注Gxl网其它相关文章!