vue props传值方法

<template>
  <div class="hello">
    	<ul>
    		<li 
    			v-for="(item, index) in type"
    			@click="handle($event)"
    			@touchMove='touchMove' 
    			>{{item.main}} --{{index}}</li>
    	</ul>
    	<div class="tabc">
    			<Tabs :text="type" :mmmmmm="msg"></Tabs>  //key/value
    	</div>
  </div>
</template>

<script>
	import Tabs from './tabs';
export default {
  name: 'HelloWorld',
  components:{
  	Tabs
  },
  data (){
    return {
      	type:[
      		{main:"切换1"},
      		{main:"切换2"},
      		{main:"切换3"}
      	],
      	msg:"我是父组件的值"  //要传入的值
    }
  },
  methods:{
  	handle($event){
  		console.log($event.offsetX)
  		console.log($event.offsetY)
  		console.log($event.type)
  		console.log($event)
  	},
  	touchMove(ev) {
        ev = ev || event;
        ev.preventDefault();
//      let btnWidth = this.$refs.remove.offsetWidth;  //$refs 减少获取dom节点的消耗
//      let btnImg = this.$refs.btnImg.offsetWidth;
        console.log(ev);
//      console.log(btnWidth);
        
       }
    },
  }
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {
  font-weight: normal;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  background: #ddd;
  margin-bottom: 0px;
  height: 40px;
  line-height: 40px;
}
a {
  color: #42b983;
}
</style>

  

<template>
  <div class="hehe">
  		<h4>{{mmmmmm}}</h4>
    	<ul>
    		<li v-for="(item,index) in text">{{item.main}}</li>
    	</ul>
  </div>
</template>

<script>
export default {
  name: 'hehe',
  props: {      
  	text:{    //此处为要接收的值   text为接收过来key 
  		type:Array,   //key不能乱写
  		default:''
  	},
  	mmmmmm:{  //同上
  		type:String,
  		default:'我是默认值'
  	}
  	
  },
  data () {
    return {
    	hehe:"222"
    }
  },
  methods:{
  	

  }
 }
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
ul,li{
	list-style: none;
}
ul{
	display: flex;
	align-items: center;
	margin-top: 5px;
}

li{
	flex: 1;
	text-align: center;
	line-height: 40px;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

h4{
	text-align: center;
}

</style>

  好记性不如破电脑,仅仅记录,怕忘了,不喜勿喷

转载于:https://www.cnblogs.com/qq735675958/p/8550874.html

Vue中,props是一种用于父组件向子组件传递数据的方式。通过在子组件上声明props选项,可以定义子组件可以接收的属性名和类型,并在父组件中通过绑定属性的方式将数据传递给子组件。 以下是使用props传值的基本步骤: 1. 在子组件中声明props选项,指定可以接收的属性名和类型。例如: ```javascript // 子组件 props: { message: String, count: { type: Number, default: 0 } } ``` 2. 在父组件中使用子组件,并通过绑定属性的方式将数据传递给子组件。例如: ```html <!-- 父组件 --> <template> <div> <child-component :message="parentMessage" :count="parentCount" /> </div> </template> <script> import ChildComponent from './ChildComponent.vue'; export default { components: { ChildComponent }, data() { return { parentMessage: 'Hello', parentCount: 10 }; } } </script> ``` 在上述代码中,父组件通过绑定属性的方式将`parentMessage`和`parentCount`传递给子组件。 3. 在子组件中使用props接收父组件传递的数据,并在模板中使用。例如: ```html <!-- 子组件 --> <template> <div> <p>{{ message }}</p> <p>{{ count }}</p> </div> </template> <script> export default { props: { message: String, count: { type: Number, default: 0 } } } </script> ``` 在子组件中,可以通过`this.message`和`this.count`来获取父组件传递的数据,并在模板中使用。 通过props传值,可以实现父子组件之间的数据传递,使得组件之间可以更好地进行通信和协作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值