vue商品列表页面组件父子组件传值的应用——代码复用性

vue商品列表页面获组件父传子的应用

写前端页面时很多时候我们会遇到一种很多页面的架构都差不多,只需要标题变一变就可以的情况,比如说下图这个分类列表,我们以教育培训类和互联网运营类两个列表请求页面为例。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
这两页面只有标题稍稍不同,当然请求地址的参数也不尽相同。

1、我们先试试怎么让这个标题组件通过父传子得到复用。

首先熟悉一下父子组件:job11和job12是父组件,在这里相当于是教育培训类和互联网运营类的list页面,header是子组件,就是每个页面的标题。
在这里插入图片描述
job11.vue父组件的代码:

<template>
<div class="app">
	//子组件header,绑定toptitle的值
    <home-header  class="TOP" :message='topTitle'></home-header>
    <joblist :typeone="one" :typetwo="two" class="Middle"></joblist>
</div>
    
</template>

<script>
import HomeHeader from "@/components/common/header"
import Joblist from "@/components/home/joblist"
export default {
    components:{
        // 局部组件
        HomeHeader,
        Joblist
    },
    data(){
        return{
            topTitle: '日结-教育培训',
            one:'日结',
            two:'教育培训类'
        }
    },
}
</script>
<style lang="scss">
    .app{
        background-color: white;
    }
    .TOP {
        position: fixed;
    }
    .Middle{
        padding-top:50px
    }
</style>

header.vue子组件的代码:

利用props接收,当然如果是两个值,就写成数组的格式

<template>
  <div class="app">
      <p class="TITLE">{{title}}</p>
  </div>
</template>

<script>
export default {
  props: ['message'],
  data () {
    return {
      title: this.message
    }
  }
}
</script>

<style lang='scss'>
// position: fixed;不能加全局?
.app {
  // position: fixed;
  width: 100%;
  height: 40px;
  text-align: center;
  background-color: white;
  z-index: 100000;
}
.TITLE {
  margin-top:12px;
  font-family: 微软雅黑;
  font-weight: bold;
  font-size: 18px;
  color: #FF9000;
  height: 18px;
  letter-spacing: 5px;
}
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值