父传子:传递基本数据类型,通过绑定自定义属性,子组件通过props接收
- 父变子变:直接传递基本数据类型
- 子变父变:直接报错 解决方法:直接把父组件传递过来的值存储为自己的变量值
- 父变子变,子变父变: 传递一个对象。 由于传递的是对象,而对象传递的是地址,所以父子同时操作的是同一个地址
Vue.prototype.Event = new Vue()
2.one->two 传值
<button @click="sendTwo">发送给two的数据</button> methods:{ sendTwo(){ // 发送数据$emit this.Event.$emit('sendTwo',this.msg) } }
在two组件中无条件接受 (mounted)
mounted(){
// 接收数据$on
this.Event.$on('sendTwo',(e)=>{
console.log(e)
})
}
总结:
- 父传子:给父组件中的子组件绑定属性,子组件通过props接收
- 子传父:给子组件绑定方法,通过$emit绑定方法名。在父组件中绑定约定的方法名即可.
<!-- 用来展示组件内容 --> <div :is='name'></div>
效果是点击one展示one的内容,点击two展示two内容,所以此时需要两个按钮
<!-- 动态组件 --> <button @click="name='vOne'">one</button> <button @click="name='vTwo'">two</button>
<v-two> <div slot='aa'>aa</div> <div slot='bb'>bb</div> </v-two>
在子组件中v-two中
<slot name='aa'></slot>
1.
import $ from 'jquery'
mounted(){ 获取元素进行操作 $('button').click(()=>{ $('.box').fadeOut(3000) }) } 在<template> <div> <div class="box"></div> <button>点击淡出</button> </div> </template>
posted on
浙公网安备 33010602011771号