vue.js父组件向子组件传值

本文展示了如何在Vue.js中通过v-bind和props进行父组件向子组件的数据传递。例子中,父组件创建了一个包含多个用户信息的对象数组,并通过v-bind将其绑定到子组件的users属性上。子组件接收到数据后,遍历并显示用户信息,同时实现了点击显示和隐藏用户职位的功能。
摘要由CSDN通过智能技术生成

父组件向子组件传值使用v-bind:users,绑定对象,子组件里面使用props来接收,具体代码如下:

父组件:

<template>
  <div id="app">	 
	 <app-header></app-header>
	 <users v-bind:users="users"></users>
	 <app-footer></app-footer>
  </div>
</template>

<script>

//局部注册组件
import Users from './components/Users'
import Header from './components/Header'
import Footer from './components/Footer'

export default {
  name: 'App',
   data () {
    return {
      users: [
	      {name:"luke1",position:"web开发1",show:false},
		  {name:"luke2",position:"web开发2",show:false},
		  {name:"luke3",position:"web开发3",show:false},
		  {name:"luke4",position:"web开发4",show:false},
	      {name:"luke5",position:"web开发5",show:false}
	  ]
    }
  },
  components:{
     Users,
	 "app-header":Header,
	 "app-footer":Footer
  }
}
</script>

<style scoped>
h1{
   color:purple;
}
</style>

子组件:

<template>
  <div class="users">
     <h1>Hello Users</h1>
     <ul>
	   <li v-for="user in users"
	       v-on:click="user.show=!user.show">
	      <h2>{{user.name}}</h2>
		  <h3 v-show="user.show">{{user.position}}</h3>
	   </li>
	 </ul>
  </div>
</template>

<script>
export default {
  name: 'users',
  //props:["users"],
  props:{
     users:{
	    type:Array,
		required:true
	 }
  },
  data () {
    return {
     
    }
  }
}
</script>


<style scoped>
.users{
   width: 100%;
   max-width:1200px;
   margin:40px auto;
   padding: 0 20px;
   box-sizing: border-box;
}

ul{
   display: flex;
   flex-wrap: wrap;
   list-style-type: none;
   padding: 0;
}

li{
  flex-grow: 1;
  flex-basis: 200px;
  text-align: center;
  padding: 30px;
  border: 1px solid #222;
  margin: 10px;
}
</style>

页面效果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值